Plupload同請求批量上傳問題解決思路打賞

最近在使用plupload的做圖片上傳時,有同一個請求上傳多張圖片的需求,而對于選擇多張圖片的上傳,plupload是分開多次請求的,由于之前使用plupload時多是采用選擇即上傳的方式,所以沒有發現。

翻閱源碼,發現有如下一段代碼。

// Build multipart request

if (_options.multipart && canSendMultipart) {

xhr.open(_options.http_method, url, true);

// Set custom headers

plupload.each(_options.headers, function(value, name) {

xhr.setRequestHeader(name, value);

});

formData = new o.FormData();

// Add multipart params

plupload.each(plupload.extend(data, _options.multipart_params), function(value, name) {

formData.append(name, value);

});

// Add file and send it

formData.append(_options.file_data_name, chunkBlob);

xhr.send(formData);

} else {

// if no multipart, send as binary stream

url = plupload.buildUrl(_options.url, plupload.extend(data, _options.multipart_params));

xhr.open(_options.http_method, url, true);

if (plupload.isEmptyObj(_options.headers) || !_options.headers['content-type']) {

xhr.setRequestHeader('content-type', 'application/octet-stream'); // binary stream header

}

// Set custom headers

plupload.each(_options.headers, function(value, name) {

xhr.setRequestHeader(name, value);

});

xhr.send(chunkBlob);

}

這下好了,我們可以改造一下組件,在

formData.append(_options.file_data_name, chunkBlob);

這一行加個循環,把當前已選擇的圖片都追加進去(當然,還要瀏覽器支持FormData的情況下),隨后只需配置multipart參數為true,然后再調用start方法,即可實現批量上傳,由于目前項目不兼容IE低版本,已經使用原生FormData直接上傳多圖,也沒時間單獨修改測試,所以僅分享下思路,待閑下來再進一步測試,有問題歡迎指正。

Plupload同請求批量上傳問題解決思路
文章《Plupload同請求批量上傳問題解決思路》二維碼
  • 微信打賞
  • 支付寶打賞

已有3條評論

  1. 飛利浦呼吸機

    謝謝分享

    2016-08-17 11:06 回復
  2. 上海項目管理軟件

    樓主辛苦了,天氣熱,多吃點西瓜

    2016-07-29 10:12 回復
  3. 任務易

    謝謝博主分享,很實用

    2016-06-29 11:44 回復

(必填)

(必填)

(可選)

黑龙江22选5开奖