尝试使用multer和cloudinary上传图片时,req.file返回[object,object]

时间:2019-12-24 23:23:30

标签: node.js express multer cloudinary

我正在尝试使用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>

2 个答案:

答案 0 :(得分:0)

您的表单没有文件上传器doohicky。将输入的类型更改为file而不是text,然后尝试。

此外,当您要通过console.log检查对象时,应该执行以下操作:

console.log( JSON.stringify( theObject ) );

答案 1 :(得分:0)

这最终是cloudinary问题,而不是代码问题。