UNPKG

devextreme

Version:

JavaScript/TypeScript Component Suite for Responsive Web Development

41 lines (40 loc) 1.55 kB
/** * DevExtreme (esm/__internal/ui/file_uploader/file_upload_strategy.whole.default.js) * Version: 25.2.7 * Build date: Tue May 05 2026 * * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import ajax from "../../../core/utils/ajax"; import { WholeFileUploadStrategyBase } from "../../ui/file_uploader/file_upload_strategy.whole.base"; export class DefaultWholeFileUploadStrategy extends WholeFileUploadStrategyBase { _uploadFile(file) { const { uploadUrl: uploadUrl, uploadMethod: uploadMethod, uploadHeaders: uploadHeaders, name: name } = this.fileUploader.option(); return ajax.sendRequest({ url: uploadUrl, method: uploadMethod, headers: uploadHeaders, beforeSend: xhr => this._beforeSend(xhr, file), upload: { onprogress: e => this._handleProgress(file, e), onloadstart: () => file.onLoadStart.fire(), onabort: () => file.onAbort.fire() }, data: this._createFormData(name, file.value) }) } _createFormData(fieldName, fieldValue) { const formData = new window.FormData; formData.append(fieldName, fieldValue, null === fieldValue || void 0 === fieldValue ? void 0 : fieldValue.name); this._extendFormData(formData); return formData } }