java接收uniapp上传的图片_uni-app 上传图片的坑

本文讲述了在使用uni-app上传图片时遇到的跨域问题,由于uni-app的uni.uploadFile()方法默认使用multipart/form-data内容类型,导致与Java后端接口对接时出现跨域错误。为解决此问题,开发者自定义封装了axios请求,设置Content-Type为application/x-www-form-urlencoded,并在上传组件中使用新的请求方法成功实现了图片上传。
摘要由CSDN通过智能技术生成

起先,在uni-app插件市场下载了上传图片的插件

由于uni-app的API uni.unloadFile()

其中content-type 为 multipart/form-data

导致在于后端对接口时出现跨域

最后解决方法:自己重新用axios封装了一个请求方式

npm install axios

util / axios-request.js

import axios from 'axios'

let URL = 'xxxxx'

const service = axios.create({

baseURL: URL,

timeout: 5000,

// headers: { 'Content-type': 'application/json' }

headers: {

'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'

}

})

// 提交

service.interceptors.request.use(

config => {

return config

},

error => {

console.log(error)

return Promise.reject(error)

}

)

// 请求

service.interceptors.response.use(

response => {

const res = response.data

// console.log(res)

// 如果返回的状态码为200,说明接口请求成功,可以正常拿到数

if (response.status === 200) {

return Promise.resolve(res)

} else {

return Promise.reject(res)

}

},

error => {

console.log('err' + error) // for debug

return Promise.reject(error)

}

)

export default service

api / upload.js

import request from '@/util/axios-request.js'

export function UploadRent(params) {

return request({

url: '/UploadRent',

method: 'POST',

data:params

})

}

page / upload.vue

import {UploadRent} from "@/api/upload.js"

methods:{

upload(){

let formData = new FormData();

formData.append('file',i);

formData.append('ID',this.ID);

UploadRent(formData).then(res=>{

console.log(res);

})

}

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值