devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
69 lines (67 loc) • 2.55 kB
JavaScript
/**
* DevExtreme (cjs/__internal/ui/file_uploader/file_upload_strategy.chunks.default.js)
* Version: 25.2.3
* Build date: Fri Dec 12 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.DefaultChunksFileUploadStrategy = void 0;
var _ajax = _interopRequireDefault(require("../../../core/utils/ajax"));
var _file_upload_strategyChunks = require("../../ui/file_uploader/file_upload_strategy.chunks.base");
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
default: e
}
}
const FILEUPLOADER_CHUNK_META_DATA_NAME = "chunkMetadata";
class DefaultChunksFileUploadStrategy extends _file_upload_strategyChunks.ChunksFileUploadStrategyBase {
_sendChunkCore(file, chunksData, chunk) {
const {
uploadUrl: uploadUrl,
uploadMethod: uploadMethod,
uploadHeaders: uploadHeaders,
name: name
} = this.fileUploader.option();
return _ajax.default.sendRequest({
url: uploadUrl,
method: uploadMethod,
headers: uploadHeaders,
beforeSend: xhr => this._beforeSend(xhr, file),
upload: {
onprogress: e => this._handleProgress(file, e),
onloadstart: () => this._tryRaiseStartLoad(file),
onabort: () => file.onAbort.fire()
},
data: this._createFormData({
fileName: chunksData.name,
blobName: name,
blob: chunk.blob,
index: chunk.index,
count: chunksData.count,
type: chunksData.type,
guid: chunksData.guid,
size: chunksData.fileSize
})
})
}
_createFormData(options) {
const formData = new window.FormData;
formData.append(options.blobName, options.blob);
formData.append("chunkMetadata", JSON.stringify({
FileName: options.fileName,
Index: options.index,
TotalCount: options.count,
FileSize: options.size,
FileType: options.type,
FileGuid: options.guid
}));
this._extendFormData(formData);
return formData
}
}
exports.DefaultChunksFileUploadStrategy = DefaultChunksFileUploadStrategy;