ฉันอัปโหลดแฟ้มเพื่อ S3 เรียบร้อยแล้กับของโปรแกรม ฉันทำโดยตรงอัปโหลดจากห้องเบราว์เซอร์ใช้ signedUrl นั่นของฉันสร้านเซิร์ฟเวอร์สำหรับฉันใช้ aws-sdk v3.
จะต้องไปที่ singed ที่อยู่ URL มันดูเหมือนนี้
const s3Params = {
Bucket : bucketName,
Key : fileName,
ContentType:fileType,
// Metadata:{'Content-Disposition':'attachment'}
// ContentDisposition:'attachment'
};
try {
const command = new PutObjectCommand(s3Params);
const url = await getSignedUrl(s3v3,command,{expiresIn:60});
return url;
} catch (e) {
console.log('************** there was an error signing th url');
console.log(e);
throw e;
}
};
นี่คือทำงานไม่เป็นไรแต่ที่ผมอ่านนิดหน่อของเอกสารที่ฉันเห็นว่าฉันควรจะสามารถตั้งค่าส่วนหัว ContentDisposition. อยู่ นี่เอกสาร มันบอกว่าข้อมูลของ PutObjectCommand เพิ่มพูนจากค PutObjectRequest
อย่างหลัมีตัวเลือกเพิ่มเติมพารามิเตอร์โทรมา ContentDisposition
ที่ฉันต้องการจะตั้งค่าตรงนี้เพื่อให้สิ่งที่แนบมาด้วยเพื่ออนุญาตให้ฉันเพื่อให้มีการถามว่า"ดาวน์โหลด"หน้าต่างสำหรับผู้ใช้. อย่างไรก็ตามเมื่อฉันใช้ห้อ signedURL ที่ด้านบนแต่เพิ่ม ContentDisposition:'attachment'
สนามฉันมีเรื่องต้องห้ามผิดพลาด
มีใครรู้ว่าข้อความด่วนทันใจหายไปอะไรที่นี่? นี่มันไม่จริงตัวเลือกหรือฉันต้องการที่จะแก้ไขอะไรบางอย่างในของฉันสิทธิ์ที่อนุญาตของ S3 สำหรับเรื่องนี้?