Node.js s3中的图像已损坏
这是我的上传代码(节点) 该对象实际上到达了桶。它有超过0个字节。它大约是源图像的一半,但我只是假设有人在压缩它(芥末什么的)。 我使用的是express fileupload,我的配置为:Node.js s3中的图像已损坏,node.js,amazon-s3,aws-sdk,aws-sdk-nodejs,wasabi-hot-cloud-storage,Node.js,Amazon S3,Aws Sdk,Aws Sdk Nodejs,Wasabi Hot Cloud Storage,这是我的上传代码(节点) 该对象实际上到达了桶。它有超过0个字节。它大约是源图像的一半,但我只是假设有人在压缩它(芥末什么的)。 我使用的是express fileupload,我的配置为: app.use(fileUpload({ createParentPath: true, limits: { fileSize: 2 * 1024 * 1024 * 1024 //2MB max file(s) size }, useTempFiles
app.use(fileUpload({
createParentPath: true,
limits: {
fileSize: 2 * 1024 * 1024 * 1024 //2MB max file(s) size
},
useTempFiles: true,
tempFileDir: "/tmp/",
}));
最后,我直接从wasabi web客户端下载了这个文件,并尝试在图像查看器中打开它,他们都说文件中有错误或不支持该文件类型(即.png,因此它是受支持的)。
图像只有约150kb。
从本质上讲,该文件已到达那里,但已损坏。
utf8
是一种文本编码。但是.png
不是文本。只需删除编码选项,它就会工作。非常感谢您,因为某些原因,其他答案将此作为答案。我认为如果你从缓冲区读取数据,你就可以这样做。
app.use(fileUpload({
createParentPath: true,
limits: {
fileSize: 2 * 1024 * 1024 * 1024 //2MB max file(s) size
},
useTempFiles: true,
tempFileDir: "/tmp/",
}));