一个关于node上传文件的例子,下面是前端代码,
doUpload() {
var formData = new FormData($("#uploadForm")[0]);
$.ajax({
url: 'http://localhost:3011/upload',
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (returndata) {
alert(returndata);
},
error: function (returndata) {
// alert(returndata);
}
});
}
<form id="uploadForm">
<p>上传文件:
<input id="UpImage" type="file" name="file"/>
<input id="text" type="text" name="text" value="232323"/>
</p>
<input type="button" value="上传" onClick={this.doUpload.bind(this)}/>
<input type="button" onClick={()=>{this.submit()}} value="确定"/>
</form>
服务端 代码 需要安装插件formidable
exports.upload = function (req,res,next) {
//keepExtensions为true时,显示文件扩展名
var form = new formidable.IncomingForm({keepExtensions:true});
/�/指定文件目录
form.uploadDir = path.join(__dirname);
form.parse(req,function (err,fields,files) {
//fields存放的为json数据
//files存放的是文件信息
//更改文件目录,并且显示上传之前的名字
fs.rename(files.file.path,__dirname+'/'+files.file.name,function (a,b) {
});
res.json({success:'修改成功'})
});
};