2016-07-18 238 views
1

如何使用圖像的URL將現有圖像上傳到AWS S3(我正在使用適用於Node.js的AWS開發工具包)?我正嘗試從Parse遷移圖片,我可以訪問其中的網址。我有事設立這樣的:如何使用圖像URL將圖像上傳到AWS S3?

let params = { 
    Key: 'sampleurl.png', 
    Bucket: Config.get('server.s3.bucket'), 
    Body: ???, // ? 
    ACL: 'public-read' 
}; 

s3Client.upload(params, (err, data) => { 
    if (err) { throw err; } 

    return data.Location; 
}); 

我怎麼會重新上傳,例如,在「http://files.parsetfss.com/something/something.png」到AWS的圖像?

+0

沒有做過的「files.parse.com」,但可是,你這個遷移可以檢查這個proj:https://github.com/parse-server-modules/parse-files-utils使用報告,IMO你可以在http上訪問url(http GET),而不需要master或api key。因此,您可以使用鏈接項目的報告中的公共URL通過腳本遷移到S3 –

+0

考慮首先下載圖像並將其上傳到S3。看來這篇文章可能會給你關於第一部分的提示:http://stackoverflow.com/questions/12740659/downloading-images-with-node-js – Conti

回答

1

我用鋒利的上傳圖片從網址到S3:

sharp(fileUrl).toBuffer(function(err, outputBuffer) { 
    if (err) { 
    reject(err); 
    } 

    s3client.upload({ 
    ACL:'public-read', 
    Body: outputBuffer 
    }, function(err, result) { 
    if (err) { 
     reject(err); 
    } 

    resolve(result.Location); 

    }); 

}); 

也許會幫助你;)

+0

這個答案對我來說不起作用,不斷得到一個「輸入文件丟失或不支持的圖像格式「錯誤,但使用節點的請求模塊的以下答案首先嚐試工作 - https://stackoverflow.com/q/22186979/907388 – pbojinov

相關問題