在生成预签名URL时,必须包含所需的HTTP方法,例如GET或PUT。以下是解决此问题的代码示例:
const AWS = require('aws-sdk');
const s3 = new AWS.S3();
const params = {
Bucket: 'bucketName',
Key: 'objectKey',
Expires: 3600,
HttpMethod: 'GET' // or 'PUT'
};
const url = s3.getSignedUrl('getObject', params); // or 'putObject' for PUT
console.log('Presigned URL: ', url);