file的axios二次封装
时间: 2023-06-13 13:07:26 浏览: 95
axios 是一个非常流行的 HTTP 客户端库,主要用于在浏览器和 Node.js 环境中发送 HTTP 请求。在使用 axios 进行 HTTP 请求时,可以通过对其进行二次封装,来简化代码和提高代码的可维护性。
以下是一个针对文件上传功能的 axios 二次封装示例:
```javascript
import axios from 'axios'
const instance = axios.create({
baseURL: 'http://localhost:3000', // 请求的基础 URL
timeout: 5000, // 超时时间
headers: { 'Content-Type': 'multipart/form-data' } // 设置请求头
})
// 文件上传方法
export function uploadFile (file, params) {
const formData = new FormData()
formData.append('file', file)
for (let key in params) {
formData.append(key, params[key])
}
return instance.post('/upload', formData)
}
// 实例化 axios 对象的方法
export function createAxios () {
return instance
}
```
在上面的例子中,我们创建了一个名为 instance 的 axios 对象,通过 createAxios 方法可以获取到这个对象。在 uploadFile 方法中,我们向服务器上传了一个文件,同时传递了一些其他参数,例如文件名称等。这里需要注意的是,我们在设置请求头时使用了 multipart/form-data 的方式,这是因为在上传文件时,需要使用这种方式来传递文件数据。
通过这种二次封装的方式,我们可以将重复代码抽离出来,提高代码的可读性和可维护性。如果有其他的 HTTP 请求需要,也可以在 instance 对象上添加相应的方法来实现。
阅读全文