使用nodejs将所有图片保存到S3后,可以通过以下步骤获取URL:
npm install aws-sdk
const AWS = require('aws-sdk');
const s3 = new AWS.S3({
accessKeyId: 'YOUR_ACCESS_KEY',
secretAccessKey: 'YOUR_SECRET_ACCESS_KEY',
region: 'YOUR_REGION'
});
请将YOUR_ACCESS_KEY
、YOUR_SECRET_ACCESS_KEY
和YOUR_REGION
替换为您的AWS访问凭证和S3存储桶所在的区域。
putObject
方法将图片上传到S3:const params = {
Bucket: 'YOUR_BUCKET_NAME',
Key: 'YOUR_IMAGE_KEY',
Body: 'YOUR_IMAGE_DATA',
ContentType: 'image/jpeg' // 根据实际情况设置正确的Content-Type
};
s3.putObject(params, (err, data) => {
if (err) {
console.error(err);
} else {
console.log('Image uploaded successfully');
// 在这里获取图片的URL
}
});
请将YOUR_BUCKET_NAME
替换为您的S3存储桶名称,YOUR_IMAGE_KEY
替换为您想要为图片设置的唯一键,YOUR_IMAGE_DATA
替换为图片的二进制数据。
putObject
方法的回调函数中,可以使用getSignedUrl
方法获取图片的URL:const urlParams = {
Bucket: 'YOUR_BUCKET_NAME',
Key: 'YOUR_IMAGE_KEY',
Expires: 3600 // URL的有效期,单位为秒
};
const imageUrl = s3.getSignedUrl('getObject', urlParams);
console.log('Image URL:', imageUrl);
请将YOUR_BUCKET_NAME
和YOUR_IMAGE_KEY
替换为与上传时相同的值。
通过以上步骤,您可以使用nodejs将图片保存到S3,并获取到图片的URL。
领取专属 10元无门槛券
手把手带您无忧上云