@wordpress/media-utils
Version:
WordPress Media Upload Utils.
37 lines (34 loc) • 1.07 kB
JavaScript
/**
* WordPress dependencies
*/
import apiFetch from '@wordpress/api-fetch';
/**
* Internal dependencies
*/
import { flattenFormData } from './flatten-form-data';
import { transformAttachment } from './transform-attachment';
/**
* 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.
*/
export 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)) {
flattenFormData(data, key, value);
}
return transformAttachment(await apiFetch({
path: `/wp/v2/media/${attachmentId}/sideload`,
body: data,
method: 'POST',
signal
}));
}
//# sourceMappingURL=sideload-to-server.js.map