无法在post-man中上传图像文件



//我已经启用了允许读取poster中工作目录外的文件,并将我的图像文件路径从桌面更改为poster用户文件,但它不工作

//答案-->回答

//错误屏幕截图-->cmd

cmd提示错误屏幕截图

邮递员错误截图

const formidable=require("formidable");
const {errorHandler}=require('../helpers/dbErrorHandler');
const _=require("lodash");
const fs=require('fs');
const Product=require("../models/product");


exports.create=(req,res)=>{
let form = new formidable.IncomingForm();//IncomingForm is a method of Formidable package and form data sent from react/postman
form.keepExtensions=true;//whatever image type we getting extenion will be there
form.parse(req,(err,fields,files)=>{
if(err)
{
return res.status(400).json({
error:"image could not be uploaded"
})
}
let product=new Product(fields);//fields-->like name,description etc
if(files.photo)//for photo & files.photo means user sent photo
{
product.photo.data=fs.readFileSync(files.photo.filepath);
product.photo.contentType=files.photo.mimetype;
}
product.save((err,result)=>{
if(err)
{
return res.status(400).json({
error:errorHandler(err)
})
}
res.json(result);
})
})
};

总结一下。解决方案是将邮递员请求中的content-type标头设置为multipart/form-data

最新更新