Node.js 如何从图像url创建multer文件
我需要首先从公共url下载图像,将下载的图像文件转换为multer文件,这样我就可以调用现有的api,然后上传multer文件。我尝试过axiosNode.js 如何从图像url创建multer文件,node.js,typescript,express,blob,multer,Node.js,Typescript,Express,Blob,Multer,我需要首先从公共url下载图像,将下载的图像文件转换为multer文件,这样我就可以调用现有的api,然后上传multer文件。我尝试过axiosresponseType:“blob”和responseType:“arraybuffer”,但在将这两个响应转换为Express.Multer.File时遇到问题。我需要它是一个multer文件,因为在上传到s3存储之前,我们也在从multer文件缓冲区生成散列。使用typescript,我想到了如下内容: let imageResponse = a
responseType:“blob”
和responseType:“arraybuffer”
,但在将这两个响应转换为Express.Multer.File
时遇到问题。我需要它是一个multer文件,因为在上传到s3存储之前,我们也在从multer文件缓冲区生成散列。使用typescript,我想到了如下内容:
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文件的情况下解决了这个问题,而只是创建一个具有缓冲区属性的类似文件的对象。在这种情况下,您不需要使用multer,下载文件并直接保存到您喜欢的位置。这里的示例代码我相信我可以做到这一点,但如果我在上传时没有首先转换为multer文件,那么我就无法从multer file.buffer生成我们需要的哈希