I'm hitting an error when using uploadOne. I get a 400 Bad Request error from S3:
<Error>
<Code>
InvalidPolicyDocument
</Code>
<Message>
Invalid Policy: Invalid Simple-Condition: value must be a string.
</Message>
...
Im trying to upload a single part file. The initiated upload seems to be well formed from the server:
{
"uploadId": "da803810-2939-4498-a5e9-95b00e6f533f",
"uploadType": "PROJECT_FILES",
"uploadMode": "Single",
"bucket": "syfr-dev",
"key": "cl9rmsuoa00036e01m3rtezfi-files",
"filename": "been-away.zip",
"mimetype": "application/zip",
"size": 6199034,
"chunkSize": 6199034,
"partsCount": 1,
"presignedRequest": {
"url": "https://s3.us-east-1.amazonaws.com/syfr-dev",
"fields": [
{
"key": "key",
"value": "cl9rmsuoa00036e01m3rtezfi-files"
},
{
"key": "acl",
"value": "public-read"
},
{
"key": "Content-Type",
"value": "application/zip"
},
{
"key": "Content-Length",
"value": 6199034
},
{
"key": "bucket",
"value": "syfr-dev"
},
{
"key": "X-Amz-Algorithm",
"value": "AWS4-HMAC-SHA256"
},
{
"key": "X-Amz-Credential",
"value": "AKIA3MYKFIQRRAKFPHET/20221106/us-east-1/s3/aws4_request"
},
{
"key": "X-Amz-Date",
"value": "20221106T123150Z"
},
{
"key": "Policy",
"value": "eyJleHBpcmF0aW9uIjoiMjAyMi0xMS0wNlQxMjozNjo1MFoiLCJjb25kaXRpb25zIjpbeyJrZXkiOiJjbDlybXN1b2EwMDAzNmUwMW0zcnRlemZpLWZpbGVzIn0seyJhY2wiOiJwdWJsaWMtcmVhZCJ9LHsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vemlwIn0seyJDb250ZW50LUxlbmd0aCI6NjE5OTAzNH0seyJidWNrZXQiOiJzeWZyLWRldiJ9LHsiWC1BbXotQWxnb3JpdGhtIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsiWC1BbXotQ3JlZGVudGlhbCI6IkFLSUEzTVlLRklRUlJBS0ZQSEVULzIwMjIxMTA2L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7IlgtQW16LURhdGUiOiIyMDIyMTEwNlQxMjMxNTBaIn1dfQ=="
},
{
"key": "X-Amz-Signature",
"value": "3e9f2979a4fad293f8765dbe2f36427b52a0cf060a77cfcf9e9d56925928dbc2"
}
]
}
}
I'm using initiateOne to initialize the upload on the server.
upload module on server:
const uploadModule = setupUploadModule({
s3Config: {
credentials: {
accessKeyId: env.AWS_ACCESS_KEY_ID,
secretAccessKey: env.AWS_SECRET_ACCESS_KEY_ID,
},
domain: 'amazonaws.com',
region: env.AWS_REGION,
},
// Setting the multipart chunk size (defaults to 5MiB)
multipartChunkSize: MULTIPART_CHUNK_SIZE,
// Here define a condition where deletion is allowed to avoid data loss for example
canDelete: process.env.NODE_ENV === 'production',
uploads: {
[UploadType.PROJECT_FILES]: {
bucket: env.AWS_BUCKET_NAME,
mode: UploadMode.Single,
buildKey: (file: FileToUpload, ctx: { trackId: string }) => {
return `${ctx.trackId}-files`;
},
mimeTypesConfig: [{ types: 'application/zip', maxSize: 107_374_182_400 }],
},
},
});
I'm hitting an error when using
uploadOne. I get a 400 Bad Request error from S3:Im trying to upload a single part file. The initiated upload seems to be well formed from the server:
I'm using
initiateOneto initialize the upload on the server.upload module on server: