一個關(guān)于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>
服務(wù)端 代碼 需要安裝插件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數(shù)據(jù)
//files存放的是文件信息
//更改文件目錄,并且顯示上傳之前的名字
fs.rename(files.file.path,__dirname+'/'+files.file.name,function (a,b) {
});
res.json({success:'修改成功'})
});
};