Req.file 在尝试使用 multer 和 cloudinary 上传图片时返回 [object, object]
Posted
技术标签:
【中文标题】Req.file 在尝试使用 multer 和 cloudinary 上传图片时返回 [object, object]【英文标题】:Req.file returns [object, object] when trying to upload picture using multer and cloudinary 【发布时间】:2020-04-15 20:26:14 【问题描述】:我正在尝试使用 multer 和 cloudinary 从表单中保存图像,但在 request.file 和 request.body 中返回的唯一内容是 [object, object]
我的 app.js 文件
const multer = require("multer");
const cloudinary = require("cloudinary");
const cloudinaryStorage = require("multer-storage-cloudinary");
cloudinary.config(
cloud_name: process.env.CLOUD_NAME,
api_key: process.env.API_KEY,
api_secret: process.env.API_SECRET
);
const storage = cloudinaryStorage(
cloudinary: cloudinary,
folder: "demo",
allowedFormats: ["jpg", "png"],
transformation: [ width: 500, height: 500, crop: "limit" ]
);
const parser = multer( storage: storage );
app.post("/", parser.single("image"), (req, res)=>
console.log(req.file) // <--- this returns [object, object]
html表单
<form action="/" method="post" encType="multipart/form-data">
<input type="file" name="image" />
</form>
【问题讨论】:
请发布您的<form>
的渲染HTML。
您是否使用调试器准确检查过req.file
是什么?它似乎是一组已发布的文件。
【参考方案1】:
您的表单没有文件上传器doohicky。将输入的类型更改为file
而不是text
,然后尝试。
此外,当您想通过console.log
检查对象时,您应该这样做:
console.log( JSON.stringify( theObject ) );
【讨论】:
我在提交问题时不小心把它设置为 type="text",在我的文档中输入的是文件类型。以上是关于Req.file 在尝试使用 multer 和 cloudinary 上传图片时返回 [object, object]的主要内容,如果未能解决你的问题,请参考以下文章
Express multer 在 req.file 上返回 undefined
节点 js multer 文件上传不起作用。 req.file 和 req.files 始终未定义