Upload file ​
POSThttps://planefs-uploads.s3.amazonaws.com/
Use the presigned form fields returned by the attachment upload-credentials endpoint to upload the binary file directly to object storage.
Body Parameters ​
Content-Type:requiredstringMIME type of the file being uploaded.
key:requiredstringStorage key returned by Plane for this upload.
policy:requiredstringBase64-encoded upload policy returned by Plane.
x-amz-signature:requiredstringAWS signature returned by Plane.
file:requiredfileBinary file contents to upload.
Upload file
bash
curl -X POST \
"https://planefs-uploads.s3.amazonaws.com/" \
-F "Content-Type=image/png" \
-F "key=attachments/550e8400-e29b-41d4-a716-446655440000/example-image.png" \
-F "policy=example-policy" \
-F "x-amz-signature=example-signature" \
-F "file=@./example-image.png"python
import requests
with open("example-image.png", "rb") as file_handle:
response = requests.post(
"https://planefs-uploads.s3.amazonaws.com/",
files={"file": file_handle},
data={
"Content-Type": "image/png",
"key": "attachments/550e8400-e29b-41d4-a716-446655440000/example-image.png",
"policy": "example-policy",
"x-amz-signature": "example-signature",
},
)
print(response.status_code)javascript
const formData = new FormData();
formData.append("Content-Type", "image/png");
formData.append("key", "attachments/550e8400-e29b-41d4-a716-446655440000/example-image.png");
formData.append("policy", "example-policy");
formData.append("x-amz-signature", "example-signature");
formData.append("file", fileInput.files[0]);
const response = await fetch("https://planefs-uploads.s3.amazonaws.com/", {
method: "POST",
body: formData,
});Response204
No response body.

