Как создать файл Multer из URL-адреса изображения - PullRequest
0 голосов
/ 13 марта 2020

Мне нужно сначала загрузить изображение с URL-адреса publi c, преобразовать загруженный файл изображения в файл multer, чтобы я мог вызвать существующий API, который затем загружает файл multer. Я пробовал топор ios responseType: "blob" и responseType: "arraybuffer", но у меня проблемы с преобразованием обоих ответов в Express.Multer.File. Мне нужно, чтобы это был файл с несколькими файлами, потому что мы также генерируем хеши из буфера файлов с несколькими файлами перед загрузкой в ​​наше хранилище s3. Используя машинопись, я придумал что-то вроде этого:

let imageResponse = await axios.get(imageURL, { responseType: "arraybuffer" });
let file: Express.Multer.File = {
             buffer: Buffer.from(imageResponse.data, "binary"),
             fieldname: "fieldname",
             originalname: "imageName.jpg",
             encoding: "binary",
             mimetype: "image/jpg",
             destination: __dirname,
           }

Я знаю, это выглядит ужасно неправильно, но да, я не уверен, как справиться с этим.

1 Ответ

0 голосов
/ 13 марта 2020

В некотором роде это решено без преобразования в файл с несколькими файлами, вместо этого просто создайте файлоподобный объект со свойством буфера.

...