1、整合上传组件
2、在页面添加组件代码
<!-- 讲师头像 -->
<el-form-item label="讲师头像">
<!-- 头衔缩略图 -->
<pan-thumb :image="eduTeacher.avatar"/>
<!-- 文件上传按钮 -->
<el-button type="primary" icon="el-icon-upload" @click="imagecropperShow=true">更换头像</el-button>
<!--
v-show:是否显示上传组件
:key:类似于id,如果一个页面多个图片上传控件,可以做区分
:url:后台上传的url地址
@close:关闭上传组件
@crop-upload-success:上传成功后的回调-->
<image-cropper
v-show="imagecropperShow"
:width="300"
:height="300"
:key="imagecropperKey"
:url="BASE_API+'/eduoss/fileoss/fileUpload'"
field="file"
@close="close"
@crop-upload-success="cropSuccess"
/>
</el-form-item>
3、编写js代码
(1)引入组件
import ImageCropper from '@/components/ImageCropper'
import PanThumb from '@/components/PanThumb'
(2)在vue对象里添加组件
export default {
components: { ImageCropper, PanThumb },
data() {
......
(3)在data中添加属性
data() {
return {
id: "",
eduTeacher: {},
saveBtnDisabled: false,
BASE_API: process.env.BASE_API, // 接口API地址
imagecropperShow: false, // 是否显示上传组件
imagecropperKey: 0 // 上传组件id
};
},
(5)访问报错
需要配置Nginx解决。
4、配置Nginx
(1)Nginx三大主要功能
反向代理、负载均衡、动静分离
(2)安装nginx
解压既可用
Nginx下载地址:
https://download.csdn.net/download/qq_39311377/12546901
5、如何使用nginx
(1)原理
(2)修改nginx中nginx.conf中的配置
server {
listen 9001;
server_name localhost;
location ~ /eduservice/ {
proxy_pass http://localhost:8001;
}
location ~ /eduuser/ {
proxy_pass http://localhost:8001;
}
location ~ /eduoss/ {
proxy_pass http://localhost:8002;
}
}
6、启动
注意:必须要有两个及以上进程才算正常,一个主线进程,一个分支进程。
7、修改前端配置文件dev.env.js
,重启生效
'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
//BASE_API: '"https://easy-mock.com/mock/5950a2419adc231f356a6636/vue-admin"',
//BASE_API: '"http://localhost:8001"',
BASE_API: '"http://localhost:9001"',//nginx,由nginx进行转发
})
8、页面js方法实现
//上传成功后回调方法
cropSuccess(data){
console.log(data);
this.imagecropperShow = false
this.eduTeacher.avatar = data.url
// 上传成功后,重新打开上传组件时初始化组件,否则显示上一次的上传结果
this.imagecropperKey = this.imagecropperKey + 1
},
close(){
this.imagecropperShow = false
// 上传成功后,重新打开上传组件时初始化组件,否则显示上一次的上传结果
this.imagecropperKey = this.imagecropperKey + 1
}