我需要在Aurelia Js上传文件。我不知道如何将文件发送到服务器(命中给定的API)。我有两个疑问,一个是我的'内容类型',另一个是,我是否需要将我的图像对象更改为任何其他格式。这是我使用的代码,
scanupload.html:
<input type="file" files.bind="selectedFiles" change.delegate="onSelectFile($event)">
scanupload.js:
onSelectFile($event){ var myurl = 'http://cdn.dmiapp.tk/file?authToken=bLNYMtfbHntfloXBuGlSzPueilaHtZx&type=jpg&name=testfile.jpg&organizationId=1&userId=7&sourceType=USER_UPLOADS';
this.httpValueConverter.call_http(myurl,'POST',{file :this.selectedFiles[0]},'fileupload')
.then(data => {
console.log(data);
if(data.meta && data.meta.statusCode == 200) {
console.log('success');
}
});}
httpservice.js:
call_http(url,method,myPostData,action,params) {
return this.httpClient.fetch(url,
{
method: method,
body : myPostData,
headers : {
'authorization': this.authorization,
'Content-Type':'form-data'
}
})
.then(response => response.json());}
错误:错误请求和不支持的媒体文件。 还尝试了内容类型,表单数据和 multipart / form-data
答案 0 :(得分:0)
如果是图像,则媒体类型必须为:“image / jpeg”,您可以尝试将图像上传为blob。
这似乎不是Aurelia特有的问题。
首先尝试制作一个简单的示例,例如:
当这有效时,将其重构为Aurelia视图。
另外,请确认您确实已将服务器配置为支持必要的mime类型。
对于multipart / form-data,您可以查看以下调整和包: