我正在尝试使用fs.createReadStream()发送文件,但是它不起作用或出现任何错误。
我从节点中蒸出文件后尝试使用请求将文件放入s3。
-1001
当我更改第一部分以从URL获取图像时
const fs = require("fs");
const request = require("request");
const path = require("path");
let imagePath = path.join(__dirname,"../../public/images/img.jpg");
fs.createReadStream(imagePath).pipe(request.put(signedRequest));
它可以工作并将图像上传到s3。
为什么有这种情况发生?还是我可以使用其他方法将文件从节点发送到s3?
答案 0 :(得分:1)
尝试aws-sdk
npm package。
您的代码如下所示:
const params = {
Bucket: bucket,
Key: fileName,
Body: data,
};
const options = {
ACL: 'private',
CacheControl: 'max-age=86400',
ContentType: 'text/plain',
};
const s3 = new S3({
region: 'us-east-1',
apiVersion: '2006-03-01',
});
await s3.upload(params, options).promise();