node文件上传时报错Error: MultipartParser.end(): stream ended unexpectedly: state = START_BOUNDARY
发布于 9个月前 作者 feikeq 914 次浏览

错误提示为:Error: MultipartParser.end(): stream ended unexpectedly: state = START_BOUNDARY

代码为: var form = new formidable.IncomingForm(); form.uploadDir=’tmp’;

form.parse(request, function(error, fields, files) { if(error) { response.writeHead(500, {"Content-Type": "text/plain"}); response.write(error + “\n”); response.end(); }else{ console.log("parsing done : " + files.upload.path); fs.renameSync(files.upload.path, “./tmp/test.png”); response.writeHead(200, {"Content-Type": "text/html"}); response.write("received image:
"); response.write(""); response.end();

    }
  
});

这是为什么?

2 回复

感觉是没有POST文件过去,而是直接访问的 /upload

控制台报错信息: console.log("parsing done : " + files.upload.path); ^ TypeError: Cannot read property ‘path’ of undefined

一行代码引发的悲剧 在文件server.js中不应该用request.setEncoding(“utf8”)来手动设置字符编码, 当设置了这个之后,会导致formidable解析出错!!!

相关资料 http://cnodejs.org/topic/50234890f767cc9a51f88481

回到顶部