簡體   English   中英

Blueimp多塊上傳表單數據

[英]Blueimp multiple chunk upload with form data

我想分塊上傳帶有表單數據的多個文件。 將表單數據保存到數據庫,將圖像保存到perticualr文件夾。

我正在使用blueimp上傳, 這是我的Fiddle

我正在使用的JavaScript代碼

$(function () {
    $('#fileupload').fileupload({
        maxChunkSize: 5000,
        previewMaxHeight: 210,
        previewMaxWidth: 210,
        url: '/echo/json'
    });
    $('#fileupload').bind('fileuploadsubmit', function (e, data) {
        var inputs = data.context.find(':input');
        if (inputs.filter('[required][value=""]').first().focus().length) {
            return false;
        }
        data.formData = inputs.serializeArray();
    });
});

塊上傳工作正常,但是如果我將數據保存到數據庫,則會創建多個條目。 在數據庫中創建的條目數等於上載的塊數。

在此處輸入圖片說明

我正在使用的PHP代碼是(在blueimp PHP類https://github.com/blueimp/jQuery-File-Upload/blob/master/server/php/UploadHandler.php的幫助下)

public function postUpload()
{
    $upload_handler = new UploadHandler(); // Blueimp class

    $this->file->create(Input::all()); // This code is executed multiple times

}

所以主要的麻煩是$this->file->create(Input::all()); 代碼是作為上載的塊數執行多次的,我希望在文件成功上載后執行一次。

還想命名上傳文件的文件,以將其保存到數據庫。

您需要首先上傳所有塊,最后一個塊執行您自己的邏輯。 因此,這是您可以執行的操作。

您應該首先從http標頭Content-Range提取范圍信息。 您可以查看此答案以了解操作方法。 然后,您應該檢查這是否是最后一塊。

如果這是最后一個塊,那么您可以在那里簡單地執行業務邏輯。

即使答案太晚,它也可能對某人有所幫助。

暫無
暫無

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

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