js自定义实现图片上传

/**
* 自定义图片上传方法 upload
* 采用js原生图片上传 formData
* 采用axios进行提交
* @params
*  object:{
*       picUri:result.imagePathArr[0].url,
*       picName:'user-logo'
*   }
*/

export function uploadImage(config) {
  let { __header, __rootUrl, ...params } = config.data
  Axios.defaults.headers.common['AccessToken'] = __header.accessToken || ''
  Axios.defaults.headers.common['tongdun'] = __header.tongdun || ''
  Axios.defaults.headers.common['currentev'] = __header.currentEnv || ''
  Axios.defaults.headers.common['apiLevel'] = __header.apiLevel || ''
  Axios.defaults.headers.common['deviceType'] = __header.deviceType || ''
  Axios.defaults.headers.common['Version'] = __header.Version || ''
  Axios.defaults.headers.common['deviceModel'] = __header.deviceModel || ''
  Axios.defaults.headers.common['appSource'] = __header.appSource || ''
  Axios.defaults.headers.common['deviceCode'] = __header.deviceCode || ''
  Axios.defaults.headers.common['GPS'] = __header.GPS || ''
  Axios.defaults.headers.common['fingerPrint'] = __header.deviceCode || ''

  let imgType = params.picUri.split(".")[1];
  let headerConfig = {
    headers: {
      'Content-Type': `multipart/form-data`,
      'Accept': '*/*'
    }
  }

  let formData = new FormData()

  let file = {
    uri: params.picUri,
    type: imgType == 'png' ? 'image/png' : 'image/jpeg',
    name: `${params.picName}.${imgType}`
  };

  formData.append('file', file)

  return Axios.post(__rootUrl + config.url, formData, headerConfig).then(result => {
    return result.data
  })
}

项目里采用此方案进行图片上传。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值