2 回答

TA貢獻1784條經驗 獲得超9個贊
預簽名的 URL 請求只需要 Tagging 字段下的標簽。當您使用此 URL 發出請求時,即您傳遞帶有“x-amz-tagging”作為鍵和標簽的標頭(例如,“temp=true&public=yes”)。
下面是一個使用預簽名 url 上傳帶有標簽的圖像(通過標題)的示例,該 url 也被請求帶有標簽(帶有標簽)。
const uploadImage = async (filepath, presignedURL) => {
const headers = new Headers();
headers.append('x-amz-tagging', 'temp=true&public=yes');
const response = await fetch(filepath);
const blob = await response.blob();
return await fetch(
presignedURL,
{
method: 'PUT',
body: blob,
headers,
},
);
};

TA貢獻1864條經驗 獲得超6個贊
如果我沒記錯的話,您可以像這樣添加元數據:
'Bucket': 'bucket',
'Key': 'signed.json',
'Metadata': {
'x-amz-tagging': 'whatever'
},
所以它看起來像這樣:
// Upload generates a new URL where a file can be uploaded
func (s *S3) Upload(key string, c Config) (string, error) {
req, _ := s.client.PutObjectRequest(&s3.PutObjectInput{
Bucket: aws.String(s.bucketName),
Key: aws.String(key),
Body: {
'x-amz-tagging': 'whatever'
},
})
return req.Presign(c.ExpiresIn)
}
我是即時寫的,所以它可能不起作用,需要一些調整。請參閱文檔 - 但它應該看起來像這樣。測試一下,讓我知道。
在此處閱讀更多信息:https ://docs.aws.amazon.com/sdk-for-go/api/service/s3/#PutObjectInput
- 2 回答
- 0 關注
- 175 瀏覽
添加回答
舉報