您好,我是 aurelia js 新手,我需要将文件上传到服务器,我使用 autrelia js、materializecss 和 httpClient.fetch 进行 api 调用。我不知道如何将文件发送到服务器。
view :
<input type="file" files.bind="selectedFiles" change.delegate="onSelectFile($event)">
Model :
onSelectFile(e)
{
var myurl = 'http://cdn.dmsapp.tk/file?authToken=bLNYMtfbHntfloXBuGlSPueilaHtZx&type=jpg&name=sibi.jpg&userId=7&organizationId=1&sourceType=USER_UPLOADS';
this.httpValueConverter.call_http(myurl,'POST',this.selectedFiles[],'fileupload',file_upload)
.then(data => {
console.log(data);
if(data.meta && data.meta.statusCode == 200) {
// this.index_lists = data.index.list;
}
}); }
http服务:
return this.httpClient.fetch('http://api.dmsapp.tk/'+url,
{
method: method,
body : json(myPostData),
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'authorization': this.authorization}})
.then(response => response.json());
寻找解决方案。
如果它是一个文件并且您正在尝试上传特定的媒体类型,
标题 'Content-Type': 'application/x-www-form-urlencoded' 对我来说似乎不正确。在这里查看适当的媒体类型:
http://www.iana.org/assignments/media-types/media-types.xhtml http://www.iana.org/assignments/media-types/media-types.xhtml
此外,您还可以将数据序列化为 JSON,如果您的数据是二进制的,则需要将其更改为字节数组。
您可能会在这里找到一些有用的信息:
http://www.petermorlion.com/file-upload-with-aurelia/ http://www.petermorlion.com/file-upload-with-aurelia/
此外,您还可以在 URL 和标头中设置令牌,我建议仅在标头中设置它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)