JS上传音频文件的问题

新手上路,请多包涵

02.PNG
01.PNG
如图,想要实现将input上传的文件push到songs数组中,可以实现吗?需要怎么做?

阅读 4.2k
3 个回答

image.png

image.png

for(var i = 0,l = temp1.files.length; i<l; i++){
    console.log(temp1.files[i])
}

还是for循环靠谱一点。ajax上传的话,其实可以直接放入 FormData 里面

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
                }
            })
        }
    });
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题