最近做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.效果图: