求救啊,我上传文件始终不行啊,我按照教程用的是formidable插件,头都搞大了
发布于 12 年前 作者 zhouaini528 7950 次预览 最后一次回复是 11 年前 来自
我按照教程用的是formidable, 安装成功 引用文件没有问题,是最新版的。 根据教程和对比官方教程 就是设置不成功啊
function plug_file(req,res){//失败啊
if (req.url == '/plug_file' && req.method.toLowerCase() == 'post') {
// parse a file upload
var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) {
res.writeHead(200, {'content-type': 'text/plain'});
res.write('received plug_file:\n\n');
res.end(sys.inspect({fields: fields, files: files}));
});
return;
}
// show a file upload form
res.writeHead(200, {'content-type': 'text/html'});
res.end(
'<form enctype="multipart/form-data" '+
'method="post">'+
'<input type="file" name="plug_file" multiple="multiple"><br>'+
'<input type="submit" value="Upload">'+
'</form>'
);
}
到底什么地方有错啊? 上传后的结果就是
received plug_file:
{ fields: {}, files: {} }
但是教程里面上传成功会返回N多东西 为神马啊啊啊啊啊
10 回复
需要使用<code>form.uploadDir</code>设置一下上传路径。
还是不行啊,我设置了。在PHP中 html里的name=“plug_file” 用 $_FILES[‘plug_file’]
nodejs 中咋个用??
<code>form.uploadDir="./StaticResource/tmp"</code> 就这样设置试试
还是不的行啊 脑壳都大了
设置的路径文件夹都创建了吧?这是我以前上传图片的服务端代码:
function upload(response, request){
}
}
你如果是express直接在req.files里有
还是不行啊 我又弄了很久了
终端结果是: [Error: MultipartParser.end(): stream ended unexpectedly: state = START_BOUNDARY] {} {}
express集成了formible的上传功能,包括上传大小限制,更改路径,取得上传资源的mime类型 app.use(express.bodyParser({ uploadDir: ‘xx/’, keepExtension: true, //是否保持后缀 limit: ‘50mb’ //上传的最大量 })) 在前台页面的form表单要有enctype='multipart/form-data’这样的头类型,要不然node的req就没有files这个属性 用express处理一般的上传够了
我也一样,一直报这个错: Error: MultipartParser.end(): stream ended unexpectedly: state = START_BOUNDARY
express 中有上传图片,可以在req.files.filename.path中读到上传图片的临时路径,然后rename就好