如何使用formdata上传多张图片
let file = this.$refs.upFile.files
console.log(file)
let formData = new FormData()
for (var i = 0; i < file.length; i++) {
formData.append('file', file[i])
}
console.log(formData.get('file'))
// formData.append('file', file)
formData.append('types[]', 'main')
const url = 'http://sylius.papamk.com/app_dev.php/api/files/'
const config = {
headers: {
'Content-Type': 'multipart/form-data',
'authorization': 'Bearer SampleToken'
},
method: 'POST',
onUploadProgress: function (progressEvent) {
}
}
axios.post(url, formData, config)
只能上传一张图片,怎么设置多张同时上传
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我跟楼主的实现方式差不多,也是基于formdata的提交,我后台是基于php,之前用nodejs做的是单图片逐个上传,但是毕竟公司后端必须要php的上传方式,而且还需要在提交表单的时候统一上传,如果改成多图片基于楼主的方式。应该是写成这样。
最大区别应该是把append 的名称改为 file[] 吧
这是我的结果截图
后端就是稍微打印了下文件而已。
有关这方面的图片上传的代码,我会上传到github https://github.com/MontageD/m...
有兴趣的可以关注一下,谢谢
应该是后台没取多个?你看看network面板你前端是不是传输了多个
多张上传要改成formData.append("file[]", file[i]),input要加multiple;
F12看看header,如果是header只有1个图片文件就是自己的原因(没装入FormData),如果有多个但是报错就是后台的原因
我这里是java后台,做FormData接收的时候,文件是在一个数组里的。数组名xxx就是append(xxx,file[i]);
上传headers截图