Я использую fetch для загрузки изображений с удаленного сервера и последующей загрузки в хранилище AWS S3.Загрузка, настройка типа контента и выгрузка работают нормально, но в процессе я теряю метаданные изображения (например, авторские права, дата съемки, камера и т. Д.) Из изображения.Я много исследовал, но не вижу, как получить это с помощью fetch или посмотреть, потеряно ли оно здесь или при вызове aws PutObject.Я открыт для использования чего-то, кроме fetch, чтобы решить проблему, если это необходимо.
const fetch = require('node-fetch');
let ext = imageURL.split("?")[0].split(".").pop();
// console.log(ext);
let contType = "";
switch (ext.toLowerCase()) {
case "jpg":
contType = "image/jpeg";
break;
case "jpeg":
contType = "image/jpeg";
break;
case "png":
contType = "image/png";
break;
case "gif":
contType = "image/gif";
break;
case "svg":
contType = "image/svg+xml";
break
default:
contType = "application/octet-stream";
}
console.log(`Using content type ${contType} for ${ext}`);
let response = await fetch(imageURL);
if (response.ok) {
let buffer = await response.buffer()
await s3.putObject({
Bucket: config.bucket,
Key: "images/" + filename + "." + ext,
Body: buffer,
ContentType: contType,
//MetadataDirective: "COPY"
}).promise()
Любая помощь высоко ценится!