如何从图像url创建multer文件



我需要首先从公共url下载图像,将下载的图像文件转换为multer文件,这样我就可以调用现有的api,然后上传multer文件。我尝试过axiosresponseType: "blob"responseType: "arraybuffer",但在将这两个响应转换为Express.Multer.File时遇到了问题。我有点需要它是一个multer文件,因为在上传到s3存储之前,我们还从multer文件缓冲区生成哈希。使用打字脚本,我想出了这样的东西:

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,
}

我知道这看起来大错特错,但我不知道该如何解决。

在不转换为multer文件的情况下解决了这个问题,而只是制作一个具有缓冲区属性的类似文件的对象。

最新更新