提交 e3293515 authored 作者: pengxiaohui's avatar pengxiaohui

限制附件和视频大小

上级 e401f4a7
...@@ -9,22 +9,7 @@ const splitStrLast = function(str, split) { ...@@ -9,22 +9,7 @@ const splitStrLast = function(str, split) {
const last = fileNameArr[fileNameArr.length - 1] const last = fileNameArr[fileNameArr.length - 1]
return last return last
} }
/** const fetchUpload = function(file, callback) {
* 视频上传
* @param {function} callback 上传结束回调
* @param {string} value
* @param {*} meta
*/
export function mediaUpload(callback, value, meta) {
if (meta.filetype === 'media') {
const input = document.createElement('input') // 创建一个隐藏的input
input.setAttribute('type', 'file')
input.setAttribute('accept', '.mp4')
input.onchange = function() {
const file = this.files[0]
if (file && file.name) {
const suffix = splitStrLast(file.name, '.')
if (['mp4'].includes(suffix)) {
const loading = Loading.service({ const loading = Loading.service({
lock: true, lock: true,
text: '视频上传中', text: '视频上传中',
...@@ -54,11 +39,37 @@ export function mediaUpload(callback, value, meta) { ...@@ -54,11 +39,37 @@ export function mediaUpload(callback, value, meta) {
.catch(err => { .catch(err => {
console(err) console(err)
}) })
}
/**
* 视频上传
* @param {function} callback 上传结束回调
* @param {string} value
* @param {*} meta
*/
export function mediaUpload(callback, value, meta) {
if (meta.filetype === 'media') {
const input = document.createElement('input') // 创建一个隐藏的input
input.setAttribute('type', 'file')
input.setAttribute('accept', '.mp4')
input.onchange = function() {
const file = this.files[0]
let errorMsg = ''
if (file && file.name) {
const suffix = splitStrLast(file.name, '.')
if (['mp4'].includes(suffix)) {
if (file.size > 1000 * 1000 * 1000) {
errorMsg = '视频文件大小不能超过 1GB!'
}
} else {
errorMsg = '只支持mp4格式的视频文件'
}
} else { } else {
Message({ message: '只支持mp4格式的视频文件', type: 'error', customClass: 'tinymce-el-message' }) errorMsg = '请选取视频文件'
} }
if (errorMsg) {
Message({ message: errorMsg, type: 'error', customClass: 'tinymce-el-message' })
} else { } else {
Message({ message: '请选取视频文件', type: 'error', customClass: 'tinymce-$message' }) fetchUpload(file, callback)
} }
} }
// 触发点击 // 触发点击
......
...@@ -349,10 +349,14 @@ export default { ...@@ -349,10 +349,14 @@ export default {
const typeList = ['doc', 'docx', 'pdf', 'xls', 'xlsx'] const typeList = ['doc', 'docx', 'pdf', 'xls', 'xlsx']
if (!typeList.includes(suffix)) { if (!typeList.includes(suffix)) {
errorMsg = '上传附件格式错误,只允许word/excel/pdf格式' errorMsg = '上传附件格式错误,只允许word/excel/pdf格式'
} else if (file.size > 50 * 1000 * 1000) {
errorMsg = '附件大小不能超过 50MB'
} }
} else { } else {
if (suffix !== 'mp4') { if (suffix !== 'mp4') {
errorMsg = '上传附件格式错误,只允许mp4格式' errorMsg = '上传附件格式错误,只允许mp4格式'
} else if (file.size > 1000 * 1000 * 1000) {
errorMsg = '视频文件大小不能超过 1GB!'
} }
} }
if (errorMsg) { if (errorMsg) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论