2016-07-18 1 views
1

Как загрузить существующее изображение в AWS S3 с использованием URL-адреса изображения (я использую AWS SDK для Node.js)? Я пытаюсь перенести изображения из Parse, с которыми я могу получить доступ к URL-адресам. Я что-то создать, как это:Как загрузить изображения в AWS S3 с помощью URL-адреса изображения?

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 u может просто получить доступ к URL-адресам (http GET) на http без мастера или ключа api. Таким образом, вы можете выполнить сценарий перехода на S3, используя общедоступные URL-адреса в отчете из связанного проекта. –

+0

Рассмотрите возможность загрузки изображений и их загрузки на S3. Кажется, этот пост может дать вам советы о первой части: http://stackoverflow.com/questions/12740659/downloading-images-with-node-js – Conti

ответ

1

Я использую остры, чтобы загружать изображения s3 из URL:

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

Смежные вопросы