使用Aurelia将图像上载到Express/Multer Api
实现图像/文件上传到我的aurelia应用程序。expressapi工作正常,使用Multer插件成功接收文件和图像,并通过Postman测试 现在我正试图弄清楚,如何将文件附加到aureliahttp/Fetch调用。不知何故,请求是向Api发出的,但图像似乎没有附加。有什么想法吗 一些问题:使用Aurelia将图像上载到Express/Multer Api,express,aurelia,multer,Express,Aurelia,Multer,实现图像/文件上传到我的aurelia应用程序。expressapi工作正常,使用Multer插件成功接收文件和图像,并通过Postman测试 现在我正试图弄清楚,如何将文件附加到aureliahttp/Fetch调用。不知何故,请求是向Api发出的,但图像似乎没有附加。有什么想法吗 一些问题: 将文件以任何方式附加到请求的主体密钥是正确的,还是需要将文件分开 创建FormData并以任何方式将文件附加到Obejct是否正确/必要 文件/映像存储在HTTP请求的哪个部分,如何在服务器端识别它们(
uploadImagesApi(图像){
设formData=new formData()
formData.images=图像;
返回http.fetch(url+“/”{
方法:'放',
正文:formData,//{
返回响应
}).catch(错误=>{
日志(“某些故障…”);
抛出错误。内容;
})
}
输入元素
上传
将formData.images=images更改为formData.images=images.item(0)
可能还需要在formData中使用“file”键而不是“images”:formData.file=images.item(o)uploadImagesApi(images){
设formData=new formData()
for(设i=0;i{
返回响应
})
.catch(错误=>{
日志(“某些故障…”);
抛出错误。内容;
})
}
确保您的url变量已定义,看起来像一个全局变量。转到firebug,查看错误日志和http日志。可能完全是API请求被服务器或浏览器拒绝了?没有错误…但希望知道如何将文件附加到Aurelia FetchRequest…尝试了这两种方法,但都没有帮助。@Seltsam,我找不到一种解决方案来修复文件上载到服务器的问题,并且已经找到了你完成了吗?@Seltsam hi,formData.append对我不起作用,它附加了空的formData,你想知道,上面的东西足以将文件上传到服务器吗?我的问题是
uploadImagesApi(images) {
let formData = new FormData()
formData.images = images;
return http.fetch(url+"/", {
method: 'put',
body: formData, // <-- Is this correct?
}).then(response => {
return response
}).catch(error => {
console.log("Some Failure...");
throw error.content;
})
}
<input class="input" type="file" files.bind="images" multiple>
<a click.delegate="uploadImagesApi(images)">Upload</a>
uploadImagesApi(images) {
let formData = new FormData()
for (let i = 0; i < images.length; i++) {
formData.append('images', images[i]);
}
return http.fetch(url + "/", {
method: 'put',
body: formData,
})
.then(response => {
return response
})
.catch(error => {
console.log("Some Failure...");
throw error.content;
})
}