Vant Uploader和axios结合上传图片/文件到后台

上传图片到后台,解决跨域
HTML代码
<van-uploader v-model="viewFileList"
              accept="all"
              upload-icon="add-o"
              prediv-size="60"
              @click.native="getFileItem()"
              @delete="deleteFile"
              :after-read="afterReadUpload">
    <van-button icon="description" size="small" type="info">上传文件</van-button>
</van-uploader>

js代码

afterReadUpload(e, detail) {
    var name = e.file.name
    var t = this
    let content = e.file
//新建一个FormData对象
    let data = new FormData()
//往其中添加要传到后台的参数(地址或名字等)
    data.append('file', content, name)
//设置请求头
    let config = {
        header: {
            'Content-Type': 'multipart/form-data',
//后台要求验证的身份信息
            'Cookie':  this.sessionId,
//解决跨域
            'Access-Control-Allow-Credentials': true
        }
    }
//解决跨域
    axios.defaults.withCredentials = true
//后台要求验证的身份信息,中括号内的参数名称可填后端需要的字段名称
    axios.defaults.headers.common['X-Token'] = this.token
//url为接口地址,本地项目url可能还需要做代理处理
    axios.post("/api/upload/", data, config).then((res) => {
        
    }).catch(() => {

    })
},

如果需要做代理

vue.config.js

module.exports = {
    devServer: {
        host: '0.0.0.0',
        port: 10001,
         //以上的ip和端口是我们本机的
        proxy: {
            '/api/': {
                target: "http://test.cn",  // 接口地址,仅为示例,非真实的接口地址
                changeOrigin: true,  // 允许跨域
                pathRewrite: {
                    '^/api/': '/api/'
                }
            },

}

}

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值