nodejs Express 我用 multiparty 上传文件 ,提示 originalFilename of undefined

Jacky_Lu 2018-06-08 01:16:06
打印出来的数据 files.image 应该有 originalFilename 属性猜对啊

router.post('/',function(req, res, next){
var form = new multiparty.Form();
form.parse(req, function(err, fields, files){
console.log(files); //打印 files 的特征
var img = files.image;
/*******************************************
res.end();
********************************************/
var path = join(dir, img.originalFilename);
fs.rename(img.path, path, function(err){
if (err) return next(err);
res.redirect('/');
});
});
}
);

{ 'photo[image]':
[ { fieldName: 'photo[image]',
originalFilename: 'HelloWorld.png',
path: 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\GLPrlvHlRaZDjNB5q-FgmFm
K.png',
headers: [Object],
size: 37864 } ] }
C:\NodeJsNet\hwExpress\routes\photo.js:54
var path = join(dir, img.originalFilename);
^

TypeError: Cannot read property 'originalFilename' of undefined
...全文
486 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jacky_Lu 2018-06-08
  • 打赏
  • 举报
回复
错误了 file里面的对象是 photo_image 而我程序里面读取的是 var img = files.photo_name; 所以错了
Jacky_Lu 2018-06-08
  • 打赏
  • 举报
回复
将程序改为 输出 img 结果是 undefined 怎样才能获取 files.photo_name的数据 router.post('/',function(req, res, next){ var form = new multiparty.Form(); form.parse(req, function(err, fields, files){ console.log(files); var img = files.photo_name; console.log(img); /******************************************* res.end(); ********************************************/ var path = join(dir, img.originalFilename); { photo_image: [ { fieldName: 'photo_image', originalFilename: 'HelloWorld.png', path: 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\vn80b7W7gX_biIe4ntrOpgP 6.png', headers: [Object], size: 37864 } ] } undefined C:\NodeJsNet\hwExpress\routes\photo.js:55 var path = join(dir, img.originalFilename);

87,883

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧