优化图片和文件上传
This commit is contained in:
@@ -144,6 +144,7 @@ const addSystemConfig = (params)=>postAction("/systemConfig/add",params);
|
|||||||
const editSystemConfig = (params)=>putAction("/systemConfig/update",params);
|
const editSystemConfig = (params)=>putAction("/systemConfig/update",params);
|
||||||
const checkSystemConfig = (params)=>getAction("/systemConfig/checkIsNameExist",params);
|
const checkSystemConfig = (params)=>getAction("/systemConfig/checkIsNameExist",params);
|
||||||
const getCurrentSystemConfig = (params)=>getAction("/systemConfig/getCurrentInfo",params);
|
const getCurrentSystemConfig = (params)=>getAction("/systemConfig/getCurrentInfo",params);
|
||||||
|
const fileSizeLimit = (params)=>getAction("/systemConfig/fileSizeLimit",params);
|
||||||
//用户|角色|模块关系
|
//用户|角色|模块关系
|
||||||
const addUserBusiness = (params)=>postAction("/userBusiness/add",params);
|
const addUserBusiness = (params)=>postAction("/userBusiness/add",params);
|
||||||
const editUserBusiness = (params)=>putAction("/userBusiness/update",params);
|
const editUserBusiness = (params)=>putAction("/userBusiness/update",params);
|
||||||
@@ -262,6 +263,7 @@ export {
|
|||||||
editSystemConfig,
|
editSystemConfig,
|
||||||
checkSystemConfig,
|
checkSystemConfig,
|
||||||
getCurrentSystemConfig,
|
getCurrentSystemConfig,
|
||||||
|
fileSizeLimit,
|
||||||
addUserBusiness,
|
addUserBusiness,
|
||||||
editUserBusiness,
|
editUserBusiness,
|
||||||
checkUserBusiness,
|
checkUserBusiness,
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import { ACCESS_TOKEN } from "@/store/mutation-types"
|
import { ACCESS_TOKEN } from "@/store/mutation-types"
|
||||||
import { getFileAccessHttpUrl } from '@/api/manage'
|
import { getFileAccessHttpUrl } from '@/api/manage'
|
||||||
|
import { fileSizeLimit } from '@/api/api'
|
||||||
|
|
||||||
const uidGenerator=()=>{
|
const uidGenerator=()=>{
|
||||||
return '-'+parseInt(Math.random()*10000+1,10);
|
return '-'+parseInt(Math.random()*10000+1,10);
|
||||||
@@ -50,6 +51,8 @@
|
|||||||
fileList: [],
|
fileList: [],
|
||||||
previewImage:"",
|
previewImage:"",
|
||||||
previewVisible: false,
|
previewVisible: false,
|
||||||
|
sizeLimit: 0,
|
||||||
|
uploadGoOn:true,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props:{
|
props:{
|
||||||
@@ -89,10 +92,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
|
this.initFileSizeLimit()
|
||||||
const token = Vue.ls.get(ACCESS_TOKEN);
|
const token = Vue.ls.get(ACCESS_TOKEN);
|
||||||
this.headers = {"X-Access-Token":token}
|
this.headers = {"X-Access-Token":token}
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
|
initFileSizeLimit() {
|
||||||
|
fileSizeLimit().then((res)=>{
|
||||||
|
if(res.code === 200) {
|
||||||
|
this.sizeLimit = res.data
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
initFileList(paths){
|
initFileList(paths){
|
||||||
if(!paths || paths.length==0){
|
if(!paths || paths.length==0){
|
||||||
this.fileList = [];
|
this.fileList = [];
|
||||||
@@ -118,13 +129,28 @@
|
|||||||
this.fileList = fileList
|
this.fileList = fileList
|
||||||
},
|
},
|
||||||
beforeUpload: function(file){
|
beforeUpload: function(file){
|
||||||
var fileType = file.type;
|
this.uploadGoOn=true
|
||||||
|
let fileType = file.type;
|
||||||
|
let fileSize = file.size;
|
||||||
if(fileType.indexOf('image')<0){
|
if(fileType.indexOf('image')<0){
|
||||||
this.$message.warning('请上传图片');
|
this.$message.warning('请上传图片');
|
||||||
|
this.uploadGoOn=false
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
//验证文件大小
|
||||||
|
if(fileSize>this.sizeLimit) {
|
||||||
|
let parseSizeLimit = (this.sizeLimit/1024/1024).toFixed(2)
|
||||||
|
this.$message.warning('抱歉,文件大小不能超过' + parseSizeLimit + 'M');
|
||||||
|
this.uploadGoOn=false
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true
|
||||||
},
|
},
|
||||||
handleChange(info) {
|
handleChange(info) {
|
||||||
|
console.log("--文件列表改变--")
|
||||||
|
if(!info.file.status && this.uploadGoOn === false){
|
||||||
|
info.fileList.pop();
|
||||||
|
}
|
||||||
this.picUrl = false;
|
this.picUrl = false;
|
||||||
let fileList = info.fileList
|
let fileList = info.fileList
|
||||||
if(info.file.status==='done'){
|
if(info.file.status==='done'){
|
||||||
|
|||||||
@@ -45,6 +45,7 @@
|
|||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import { ACCESS_TOKEN } from "@/store/mutation-types"
|
import { ACCESS_TOKEN } from "@/store/mutation-types"
|
||||||
import { getFileAccessHttpUrl } from '@/api/manage';
|
import { getFileAccessHttpUrl } from '@/api/manage';
|
||||||
|
import { fileSizeLimit } from '@/api/api'
|
||||||
|
|
||||||
const FILE_TYPE_ALL = "all"
|
const FILE_TYPE_ALL = "all"
|
||||||
const FILE_TYPE_IMG = "image"
|
const FILE_TYPE_IMG = "image"
|
||||||
@@ -77,8 +78,9 @@
|
|||||||
moveDisplay:'none',
|
moveDisplay:'none',
|
||||||
showMoverTask:false,
|
showMoverTask:false,
|
||||||
moverHold:false,
|
moverHold:false,
|
||||||
currentImg:''
|
currentImg:'',
|
||||||
//---------------------------- end 图片左右换位置 -------------------------------------
|
//---------------------------- end 图片左右换位置 -------------------------------------
|
||||||
|
sizeLimit: 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props:{
|
props:{
|
||||||
@@ -162,6 +164,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
|
this.initFileSizeLimit()
|
||||||
const token = Vue.ls.get(ACCESS_TOKEN);
|
const token = Vue.ls.get(ACCESS_TOKEN);
|
||||||
//---------------------------- begin 图片左右换位置 -------------------------------------
|
//---------------------------- begin 图片左右换位置 -------------------------------------
|
||||||
this.headers = {"X-Access-Token":token};
|
this.headers = {"X-Access-Token":token};
|
||||||
@@ -170,6 +173,13 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
methods:{
|
methods:{
|
||||||
|
initFileSizeLimit() {
|
||||||
|
fileSizeLimit().then((res)=>{
|
||||||
|
if(res.code === 200) {
|
||||||
|
this.sizeLimit = res.data
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
initFileListArr(val){
|
initFileListArr(val){
|
||||||
if(!val || val.length==0){
|
if(!val || val.length==0){
|
||||||
this.fileList = [];
|
this.fileList = [];
|
||||||
@@ -234,7 +244,8 @@
|
|||||||
},
|
},
|
||||||
beforeUpload(file){
|
beforeUpload(file){
|
||||||
this.uploadGoOn=true
|
this.uploadGoOn=true
|
||||||
var fileType = file.type;
|
let fileType = file.type;
|
||||||
|
let fileSize = file.size;
|
||||||
if(this.fileType===FILE_TYPE_IMG){
|
if(this.fileType===FILE_TYPE_IMG){
|
||||||
if(fileType.indexOf('image')<0){
|
if(fileType.indexOf('image')<0){
|
||||||
this.$message.warning('请上传图片');
|
this.$message.warning('请上传图片');
|
||||||
@@ -242,7 +253,13 @@
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//TODO 扩展功能验证文件大小
|
//验证文件大小
|
||||||
|
if(fileSize>this.sizeLimit) {
|
||||||
|
let parseSizeLimit = (this.sizeLimit/1024/1024).toFixed(2)
|
||||||
|
this.$message.warning('抱歉,文件大小不能超过' + parseSizeLimit + 'M');
|
||||||
|
this.uploadGoOn=false
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return true
|
return true
|
||||||
},
|
},
|
||||||
handleChange(info) {
|
handleChange(info) {
|
||||||
|
|||||||
@@ -797,8 +797,8 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-if="fileList.length>0">
|
<template v-if="fileList.length>0">
|
||||||
<a-row class="form-row" :gutter="24">
|
<a-row class="form-row" :gutter="24">
|
||||||
<a-col :span="8">
|
<a-col :span="10">
|
||||||
<a-form-item :labelCol="{xs: { span: 24 },sm: { span: 4 }}" :wrapperCol="{xs: { span: 24 },sm: { span: 20 }}" label="附件">
|
<a-form-item :labelCol="{xs: { span: 24 },sm: { span: 3 }}" :wrapperCol="{xs: { span: 24 },sm: { span: 21 }}" label="附件">
|
||||||
<ul style="list-style-type:none">
|
<ul style="list-style-type:none">
|
||||||
<li v-for="(item,index) in fileList" :key="index">
|
<li v-for="(item,index) in fileList" :key="index">
|
||||||
<a :href="item.url" target="_blank">{{item.name}}</a>
|
<a :href="item.url" target="_blank">{{item.name}}</a>
|
||||||
@@ -806,7 +806,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="16"></a-col>
|
<a-col :span="14"></a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
</template>
|
</template>
|
||||||
</a-form>
|
</a-form>
|
||||||
|
|||||||
@@ -388,8 +388,8 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-if="fileList.length>0">
|
<template v-if="fileList.length>0">
|
||||||
<a-row class="form-row" :gutter="24">
|
<a-row class="form-row" :gutter="24">
|
||||||
<a-col :span="8">
|
<a-col :span="12">
|
||||||
<a-form-item :labelCol="{xs: { span: 24 },sm: { span: 4 }}" :wrapperCol="{xs: { span: 24 },sm: { span: 20 }}" label="附件">
|
<a-form-item :labelCol="{xs: { span: 24 },sm: { span: 3 }}" :wrapperCol="{xs: { span: 24 },sm: { span: 21 }}" label="附件">
|
||||||
<ul style="list-style-type:none">
|
<ul style="list-style-type:none">
|
||||||
<li v-for="(item,index) in fileList" :key="index">
|
<li v-for="(item,index) in fileList" :key="index">
|
||||||
<a :href="item.url" target="_blank">{{item.name}}</a>
|
<a :href="item.url" target="_blank">{{item.name}}</a>
|
||||||
@@ -397,7 +397,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="16"></a-col>
|
<a-col :span="12"></a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
</template>
|
</template>
|
||||||
</a-form>
|
</a-form>
|
||||||
|
|||||||
@@ -143,7 +143,7 @@
|
|||||||
<a-row class="form-row" :gutter="24">
|
<a-row class="form-row" :gutter="24">
|
||||||
<a-col :lg="12" :md="12" :sm="24">
|
<a-col :lg="12" :md="12" :sm="24">
|
||||||
<a-form-item :labelCol="{xs: { span: 24 },sm: { span: 4 }}" :wrapperCol="{xs: { span: 24 },sm: { span: 20 }}" label="图片">
|
<a-form-item :labelCol="{xs: { span: 24 },sm: { span: 4 }}" :wrapperCol="{xs: { span: 24 },sm: { span: 20 }}" label="图片">
|
||||||
<j-image-upload v-model="fileList" bizPath="material" isMultiple="true"></j-image-upload>
|
<j-image-upload v-model="fileList" bizPath="material" isMultiple></j-image-upload>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :lg="12" :md="12" :sm="24"></a-col>
|
<a-col :lg="12" :md="12" :sm="24"></a-col>
|
||||||
|
|||||||
Reference in New Issue
Block a user