如图,想要实现将input上传的文件push到songs数组中,可以实现吗?需要怎么做?
function upload(e){
Array.prototype.forEach.bind(e.target.files)(function(song){
songs.push(song);
});
}
如其他答主所言,上传文件最好用 FormData ,用数组的话需要转 base64 或者 Blob 数据,较为麻烦。
以前写的代码,直接可以使用.
$('#fileUploadConfirmOK').click(function () {
// フォームデータを取得
var input = $('#upload_Filedata')[0];
for (var i = 0; i < input.files.length; i++) {
var formdata_detail = new FormData();
formdata_detail.append('Filedata', input.files[i]);
var type = input.files[i].type.toLowerCase();
var fileName = input.files[i].name;
// POSTでアップロード
$.ajax({
url: XXXXX,
type: "POST",
cache: false,
contentType: false,
processData: false,
dataType: "xml",
data: formdata_detail,
error: function () {
XXXXX
},
success: function () {
XXXXX
}
})
}
});
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
2 回答4.3k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
3 回答1.7k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
5 回答794 阅读
还是for循环靠谱一点。ajax上传的话,其实可以直接放入 FormData 里面