@wordpress/media-utils
Version:
WordPress Media Upload Utils.
43 lines (40 loc) • 1.36 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.sideloadToServer = sideloadToServer;
var _apiFetch = _interopRequireDefault(require("@wordpress/api-fetch"));
var _flattenFormData = require("./flatten-form-data");
var _transformAttachment = require("./transform-attachment");
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
/**
* Uploads a file to the server without creating an attachment.
*
* @param file Media File to Save.
* @param attachmentId Parent attachment ID.
* @param additionalData Additional data to include in the request.
* @param signal Abort signal.
*
* @return The saved attachment.
*/
async function sideloadToServer(file, attachmentId, additionalData = {}, signal) {
// Create upload payload.
const data = new FormData();
data.append('file', file, file.name || file.type.replace('/', '.'));
for (const [key, value] of Object.entries(additionalData)) {
(0, _flattenFormData.flattenFormData)(data, key, value);
}
return (0, _transformAttachment.transformAttachment)(await (0, _apiFetch.default)({
path: `/wp/v2/media/${attachmentId}/sideload`,
body: data,
method: 'POST',
signal
}));
}
//# sourceMappingURL=sideload-to-server.js.map