我正在尝试使用.csv
(axios
)发送formData
文件,并且我在控制器中始终是空数组。
这是我的代码和我尝试做的事情。
HTML
<input id="upload-csv-<?= $fraction->id ?>" name="uploadcsv"
onChange="return uploadCsv(<?= $fraction->id ?>)"
type="file" required="required"/ >
JS
function uploadCsv(fractionId) {
let groupId = $('#customer_id').val();
let selectedFile = $('#upload-csv-' + fractionId)[0] ? $('#upload-csv-' + fractionId)[0].files : undefined;
const data = new FormData();
data.append('group_id', groupId);
data.append('fraction_id', fractionId);
data.append('file', selectedFile);
return new Promise(function(resolve, reject) {
return axios.post('/refunds/uploadRefundCsv', data)
.then(function(response) {
....
在控制器中我正在制作debug($_FILES)
且数组为空[]
我也试过Documentation
中描述的例子只有让var $_FILES
不为空的方法才是
let file = new Blob([selectedFile ], { type: "text/xml"});
然后我无法读取我的文件(我的文件以某种方式被覆盖,我只收到消息[object FileList]
)