前臺代碼
submit() {var file = this.$refs.fileUpload.files[0];var formData = new FormData();formData.append("file", file);formData.append("username", this.username);formData.append("password", this.password);axios.post("http://127.0.0.1:3000", formData).then(res => {console.log(res);}); }
后臺代碼
app.use(function (req, res) {var form = new formidable.IncomingForm();form.uploadDir = path.join(__dirname, 'uploads')form.parse(req, function (err, fields, files) {fs.rename(files.file.path, path.join(__dirname, 'uploads', files.file.name), function (err) {if (!err) {return res.end('ok')}res.end('err')}) }); })
?注意
- 前端利用formData才能拿到file數據,這是xhr異步上傳文件提供的接口
- 后臺代碼如果不使用formidable這個包,那么對接受過來的二進制數據自己處理是非常麻煩的