Node.js的AWS-SDK。如何通过提供URL下载文件(图像)
我正在使用一个名为Icecat的API。它们本质上是一个产品目录。他们提供的功能之一是产品的图像。为了确保快速交付和一致的正常运行时间,我希望使用S3 下面你可以看到我上传文件的方法。我真正想做的就是把Icecat的图像放到我的S3存储桶上。到目前为止,我还没有找到一种简单的方法将文件从公共URL放到s3存储桶中 任何帮助都将不胜感激Node.js的AWS-SDK。如何通过提供URL下载文件(图像),node.js,amazon-web-services,amazon-s3,Node.js,Amazon Web Services,Amazon S3,我正在使用一个名为Icecat的API。它们本质上是一个产品目录。他们提供的功能之一是产品的图像。为了确保快速交付和一致的正常运行时间,我希望使用S3 下面你可以看到我上传文件的方法。我真正想做的就是把Icecat的图像放到我的S3存储桶上。到目前为止,我还没有找到一种简单的方法将文件从公共URL放到s3存储桶中 任何帮助都将不胜感激 const AWS = require('aws-sdk') const fs = require('fs') const path = require('pat
const AWS = require('aws-sdk')
const fs = require('fs')
const path = require('path')
const testfile = fs.readFileSync(path.resolve(__dirname + 'favicon.png'))
const BUCKET_NAME = 'mywishes'
const IAM_USER_KEY = 'xxxx'
const IAM_USER_SECRET = 'yyyy'
export function uploadToS3 (file) {
let s3bucket = new AWS.S3({
accessKeyId: IAM_USER_KEY,
secretAccessKey: IAM_USER_SECRET,
Bucket: BUCKET_NAME
})
s3bucket.createBucket(function () {
const params = {
Bucket: BUCKET_NAME,
Key: file.key,
Body: file.body,
ACL: 'public-read',
ContentType: file.mime || 'image/jpg'
}
s3bucket.upload(params, function (err, data) {
if (err) {
console.log('error in callback')
console.log(err)
}
console.log('success')
console.log(data)
})
})
}
如果这些是真实的AWS凭据,请创建一组新的凭据,并立即停用(并最终删除)显示的凭据。您的代码有一些问题。请查看以下两个示例:a)创建一个bucket和b)在中上载到bucket。