最近做Vue项目,需要用到图片上传的功能,因为是PC端后台项目,故而采用了element-ui组件库里的upload上传的组件。本文主要解决上传时的跨域问题。
        action属性便是上传的地址,需要进行跨域。话不多说,直接上代码:
          1.进行跨域设置:config->index.js

module.exports = {
  dev: {
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    // proxyTable: {},
    proxyTable: {
      '/api':{
      		//以下接口胡编,项目中需要使用自己的
	        target:'http://www.baidu.com:9527',  //这里配置的是 请求接口的域名
	        // secure: false, // 如果是https接口,需要配置这个参数
	        changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
	        pathRewrite:{
	          '^/api':'' //路径重写,这里理解成用'/api'代替target里面的地址。
	        }
        },
    },
}

          2.组件中进行使用,属性、方法请参考element-ui官方文档

<el-upload
      action="/api/web/img/upload"   //图片上传地址
      list-type="picture-card"
      :on-preview="handlePictureCardPreview"
      :file-list="fileList2"
      :on-error="uploadError"
      :before-upload="beforeAvatarUpload"
      :on-remove="handleRemove">
      <i class="el-icon-plus"></i>
</el-upload>
<el-dialog :visible.sync="dialogVisible" size="tiny">
   <img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>

          3.效果图:
                     在这里插入图片描述

Logo

前往低代码交流专区

更多推荐