首先需要确保使用了axios
库。然后这里给出一个示例代码,通过创建一个FormData对象,将需要上传的文件加入到formData中,然后使用axios的put方法上传该文件。
import axios from 'axios';
const file = //需要上传的文件
const formData = new FormData();
formData.append('file', file);
axios.put('/api/upload', formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
}).then(response => {
console.log(response);
}).catch(error => {
console.log(error);
});
在此示例中,我们使用axios的put
方法将formData对象上传到服务器,并将请求头中的Content-Type设置为multipart/form-data
。服务器收到请求后可以通过req.files访问上传的文件。
需要注意的是,axios
依赖于XMLHttpRequest,因此,该示例代码适用于Web浏览器环境。更适用于Node.js的示例代码可以使用axios
库的封装axios-form-data
。
const axios = require('axios');
const FormData = require('axios-form-data');
const file = // 需要上传的文件
const formData = new FormData();
formData.append('file', file);
axios.post('/api/upload', formData, {
headers: formData.getHeaders(),
}).then(response => {
console.log(response);
}).catch(error => {
console.log(error);
});
这里使用的是axios-form-data
库,它扩展了axios
的功能,可以方便的将formData
对象发送到服务器。使用方式与原先的示例大同小异。