javascript - 推送到数组时文件对象变成字符串?JS
问题描述
我的目标是将多个文件从 Vue.js 前端上传到 php/Laravel 后端。
这是我收集文件的地方:
<input id="cover-file" @change="onCoverSelected" type="file" multiple>
这是onCoverSelected
方法:
onCoverSelected(e) {
let files = e.target.files;
// let fileArray = Object.values(files);
for (var i = 0; i < files.length; i++) {
console.log(files[1]);
this.covers.push(files[1]);
}
},
当我console.log
创建文件时,它们在 DevTools 控制台中显示为实际文件。到目前为止,一切都很好。
但是,当我将文件推送到数组时,它们变成了字符串!我不明白为什么。我的后端依赖于接收文件对象数组。
这是 DevTools 的屏幕截图,其中显示 File 对象变成了一个字符串
这是来自我的后端,我希望收到一个 File 对象数组,但是,当我输入变量时,我收到一个空数组:dd
covers
$covers = (array)json_decode($request->input('covers'));
dd($covers);
不使用以下(array)
打印件:
"[object File],[object File],[object File]"
如何File
在后端接收对象数组?谢谢你。
解决方案
推荐阅读
- angular - Angular 和异步自定义验证
- r - 将 as_kable_extra (format = "latex") 保存在文件中
- python - Jinja/Flask 遍历字典并将值传递给引导轮播
- c++ - 我可以使用联合在各种大小的整数之间进行转换吗?
- javascript - Apollo Client 在突变更新函数中返回旧数据
- sql - 如何从三个单独的表中构建一个事件表,以显示随时间的增量变化?
- c++ - 为小于或等于编写一个重载运算符
- algorithm - 没有临时数组的合并排序
- c++ - 在 shared_ptr 中包装一个指针是否保证如果我继续使用原始指针它将被删除?
- javascript - 如何在此 JavaScript 函数中添加“缓动”?