我正在嘗試通過 Postman 將檔案上傳到我的存盤桶。我使用了一個發布請求,所以在我的 nodejs 后端我正在生成一個預簽名的發布 url,通過在 aws sdk 上使用這個函式
Url() {
const suffix = `${(0, uuid_1.v4)()}`;
const extension = path_1.default.basename(this.fileName);
const params = {
Bucket: constants_1.BUCKET,
Fields: {
Key: `${this.pathToSave}/${suffix}${extension}`,
"Content-Type": "image/jpeg"
},
Conditions: [
["content-length-range", 0.1, 200000000],
["eq", "$x-amz-meta-postid", this.postId],
["eq", "$Content-Type", "image/jpeg"]
],
Expires: 180
};
return new Promise((resolve, reject) => {
S3.createPresignedPost(params, function (err, data) {
if (err) {
reject(err);
return;
}
resolve(data);
});
});
}
這就是我通過郵遞員提出請求的方式

問題是,當我發送請求時,我遇到了 400 Bad Request 錯誤。我已閱讀所有 aws 檔案并在線搜索,但我不明白如何解決這個問題。
uj5u.com熱心網友回復:
在你的條件改變:
[“內容長度范圍”,0.1,200000000]到[“內容長度范圍”,1,200000000]
我的有效代碼:
const params = {
Bucket: "{bucket_name}",
Fields: {
Key: `test.jpg`,
"Content-Type": "image/jpeg"
},
Conditions: [
["content-length-range", 1, 2000000000],
["eq", "$x-amz-meta-postid", "some-post-id"],
["eq", "$Content-Type", "image/jpeg"]
],
Expires: 380
};
s3.createPresignedPost(params, function(err, data) {
if (err) {
console.error('Presigning post data encountered an error', err);
} else {
console.log('The post data is', data);
}
});
對郵遞員的要求:

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/441241.html
上一篇:從HTML頁面生成PDF
