Creates a multipart external upload
POST/uploads/create-multipart.json
Creates a multipart upload in the external storage provider, storing a temporary reference to the external upload similar to /get-presigned-put.
You must have the correct permissions and CORS settings configured in your external provider. We support AWS S3 as the default. See:
https://meta.discourse.org/t/-/210469#s3-multipart-direct-uploads-4.
An external file store must be set up and enable_direct_s3_uploads
must
be set to true for this endpoint to function.
Request
- application/json
Body
Possible values: [avatar
, profile_background
, card_background
, custom_emoji
, composer
]
File size should be represented in bytes.
metadata object
The SHA1 checksum of the upload binary blob. Optionally be provided and serves as an additional security check when later processing the file in complete-external-upload endpoint.
Responses
- 200
external upload initialized
- application/json
- Schema
- Example (from schema)
Schema
The path of the temporary file on the external storage service.
The identifier of the multipart upload in the external storage provider. This is the multipart upload_id in AWS S3.
A unique string that identifies the external upload. This must be stored and then sent in the /complete-multipart and /batch-presign-multipart-parts endpoints.
{
"key": "temp/site/uploads/default/12345/67890.jpg",
"external_upload_identifier": "84x83tmxy398t3y._Q_z8CoJYVr69bE6D7f8J6Oo0434QquLFoYdGVerWFx9X5HDEI_TP_95c34n853495x35345394.d.ghQ",
"unique_identifier": "66e86218-80d9-4bda-b4d5-2b6def968705"
}