簡體   English   中英

如何使用 AJAX 與其他 FormData 一起上傳 .mp4、.mp3 和 .doc 文件?

[英]How can I upload .mp4, .mp3 and .doc Files along other FormData with AJAX?

美好的一天,伙計們。 我一直在從 AJAX 上傳文件(文檔和圖像)。 雖然,我已經搜索了這個網站以從 AJAX 上傳視頻,但我還沒有看到我想要的內容。 我只看到,上傳一個直播視頻,這並沒有真正幫助我。

現在,我想從 AJAX 上傳所有三個(文檔、音頻和視頻)。 下面的代碼在我只上傳 select.DOC 時運行良好,但當我結合.DOC 和.MP4 文件時它不起作用。

var fdata = new FormData();
            fdata.append("cid", $("#tclass").val() ); fdata.append("subj", $("#tsubj").val() );
            fdata.append("sess", $("#sess").val() ); fdata.append("term", $("#term").val() );  
            fdata.append("title", $("#lessontitle").val() );
            
            if(  $("#lessontext").val() !== ""){ fdata.append("note", $("#lessontext").val() ); }
            fdata.append("video", $("#videofile")[0].files[0] );            
            fdata.append("doc", $("#docfile")[0].files[0] ); 
            fdata.append("audio", $("#audiofile")[0].files[0] );
            
            document.getElementById("msgStatus").innerHTML = "Uploading Lesson and Checking for Previously Uploaded Title";
            
            $.ajax({                    
                type: 'POST',
                url: "lessons/validateupload/",
                data:fdata,
                contentType: false,
                processData: false, 
                cache: false,               
                success: function(data){ alert(data);                       
                    $('#msgStatus').html(data);                     
                    if(data.indexOf("successfully") > -1){ 
                        closeForm();
                    }
                }       
            })

當我只使用 SELECT 時,從 PHP 返回的結果.doc

Array
(
    [cid] => 1-JSS1A
    [subj] => 1-MATHEMATICS
    [sess] => 1
    [term] => 1
    [title] => INTEGRATION
    [note] => thhis is a mathematical concept...
    [video] => undefined
    [audio] => undefined
)
Array
(
    [doc] => Array
        (
            [name] => Design and Implementation of a Web.docx
            [type] => application/vnd.openxmlformats-officedocument.wordprocessingml.document
            [tmp_name] => C:\wamp64\tmp\php9185.tmp
            [error] => 0
            [size] => 711124
        )

)

這是當我組合.doc 文件和.mp4 文件時的結果,我得到空 ARRAYs

Array
(
)
Array
(
)

當我嘗試僅上傳.mp4 時,我也得到空的 arrays

Array
(
)
Array
(
)

請我需要幫助。 我真的不明白做錯了什么。 謝謝你。

我已經解決了這個問題。 我不得不編輯我的 Php.ini 文件,將 post_max_size 增加到 200。我還計算了我的 ajax 帖子以批量上傳文件。 上傳文件1后,會檢查eventCompleteHandler()中的responseText。 如果它重新運行成功,則檢查是否選擇了另一個文件並發布它,否則檢查另一個文件並發布它。 如果沒有其他文件,則報告.. 上傳成功並完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM