文件上传在aurelia js中无效

时间:2016-10-14 07:38:47

标签: content-type aurelia aurelia-binding

我需要在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

1 个答案:

答案 0 :(得分:0)

如果是图像,则媒体类型必须为:“image / jpeg”,您可以尝试将图像上传为blob。

这似乎不是Aurelia特有的问题。

首先尝试制作一个简单的示例,例如:

Upload image using javascript

当这有效时,将其重构为Aurelia视图。

另外,请确认您确实已将服务器配置为支持必要的mime类型。

对于multipart / form-data,您可以查看以下调整和包: