我已經整理了upload.js從本地驅動器讀取影像 jpg 檔案并將其上傳到 AWS S3 存盤桶的腳本。
var fs = require('fs');
var AWS = require('aws-sdk');
AWS.config.update({region: 'us-east-1'});
const BUCKET_NAME = 'my-bucket-name';
let filepath = '/home/user/test-image.jpeg';
const content = fs.readFileSync(filepath, {encoding: 'base64'});
let params = {
params: {
Bucket: BUCKET_NAME,
Key: 'test.jpeg',
Body: content
}
};
var upload = new AWS.S3.ManagedUpload(params);
var promise = upload.promise();
promise.then(
function(data) {
console.log("Successfully uploaded photo.");
},
function(err) {
console.error("There was an error uploading: ", err.message);
}
);
當我運行它并node upload.js上傳影像時。但是當我將其下載回來時,下載的影像已損壞,無法使用影像查看器打開。我究竟做錯了什么?
uj5u.com熱心網友回復:
添加ContentType: image/jpeg到您的params物件并松開base64 encoding,此配置也適用于您。
var fs = require('fs');
const AWS = require('aws-sdk');
// const s3 = new AWS.S3();
AWS.config.update({ region: 'us-east-1' });
const mime = require('mime');
const BUCKET_NAME = 'my-bucket-name';
let filepath = '/home/user/test-image.jpeg';
const content = fs.readFileSync(filepath);
console.log(mime.getType(filepath));
let params = {
params: {
Bucket: BUCKET_NAME,
Key: 'cancel.jpeg',
Body: content,
ContentType: mime.getType(filepath),
},
};
var upload = new AWS.S3.ManagedUpload(params);
var promise = upload.promise();
promise.then(
function (data) {
console.log('Successfully uploaded photo.');
},
function (err) {
console.error('There was an error uploading: ', err.message);
}
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/329807.html
標籤:javascript 节点.js 打字稿 亚马逊-s3
上一篇:如何在pytorch中用另一個模型計算的損失來訓練一個模型?
下一篇:涉及種類`Nat`的乘法問題
