作者 RuoYi

富文本Editor组件检验图片格式

@@ -47,7 +47,7 @@ export default { @@ -47,7 +47,7 @@ export default {
47 type: Boolean, 47 type: Boolean,
48 default: false, 48 default: false,
49 }, 49 },
50 - // 上传文件大小限制(MB) 50 + /* 上传文件大小限制(MB) */
51 fileSize: { 51 fileSize: {
52 type: Number, 52 type: Number,
53 default: 5, 53 default: 5,
@@ -129,7 +129,6 @@ export default { @@ -129,7 +129,6 @@ export default {
129 if (this.type == 'url') { 129 if (this.type == 'url') {
130 let toolbar = this.Quill.getModule("toolbar"); 130 let toolbar = this.Quill.getModule("toolbar");
131 toolbar.addHandler("image", (value) => { 131 toolbar.addHandler("image", (value) => {
132 - this.uploadType = "image";  
133 if (value) { 132 if (value) {
134 this.$refs.upload.$children[0].$refs.input.click(); 133 this.$refs.upload.$children[0].$refs.input.click();
135 } else { 134 } else {
@@ -158,6 +157,13 @@ export default { @@ -158,6 +157,13 @@ export default {
158 }, 157 },
159 // 上传前校检格式和大小 158 // 上传前校检格式和大小
160 handleBeforeUpload(file) { 159 handleBeforeUpload(file) {
  160 + const type = ["image/jpeg", "image/jpg", "image/png", "image/svg"];
  161 + const isJPG = type.includes(file.type);
  162 + // 检验文件格式
  163 + if (!isJPG) {
  164 + this.$message.error(`图片格式错误!`);
  165 + return false;
  166 + }
161 // 校检文件大小 167 // 校检文件大小
162 if (this.fileSize) { 168 if (this.fileSize) {
163 const isLt = file.size / 1024 / 1024 < this.fileSize; 169 const isLt = file.size / 1024 / 1024 < this.fileSize;
@@ -169,10 +175,10 @@ export default { @@ -169,10 +175,10 @@ export default {
169 return true; 175 return true;
170 }, 176 },
171 handleUploadSuccess(res, file) { 177 handleUploadSuccess(res, file) {
172 - // 获取富文本组件实例  
173 - let quill = this.Quill;  
174 // 如果上传成功 178 // 如果上传成功
175 if (res.code == 200) { 179 if (res.code == 200) {
  180 + // 获取富文本组件实例
  181 + let quill = this.Quill;
176 // 获取光标所在位置 182 // 获取光标所在位置
177 let length = quill.getSelection().index; 183 let length = quill.getSelection().index;
178 // 插入图片 res.url为服务器返回的图片地址 184 // 插入图片 res.url为服务器返回的图片地址
@@ -206,11 +212,9 @@ export default { @@ -206,11 +212,9 @@ export default {
206 content: "保存"; 212 content: "保存";
207 padding-right: 0px; 213 padding-right: 0px;
208 } 214 }
209 -  
210 .ql-snow .ql-tooltip[data-mode="video"]::before { 215 .ql-snow .ql-tooltip[data-mode="video"]::before {
211 content: "请输入视频地址:"; 216 content: "请输入视频地址:";
212 } 217 }
213 -  
214 .ql-snow .ql-picker.ql-size .ql-picker-label::before, 218 .ql-snow .ql-picker.ql-size .ql-picker-label::before,
215 .ql-snow .ql-picker.ql-size .ql-picker-item::before { 219 .ql-snow .ql-picker.ql-size .ql-picker-item::before {
216 content: "14px"; 220 content: "14px";
@@ -227,7 +231,6 @@ export default { @@ -227,7 +231,6 @@ export default {
227 .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="huge"]::before { 231 .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="huge"]::before {
228 content: "32px"; 232 content: "32px";
229 } 233 }
230 -  
231 .ql-snow .ql-picker.ql-header .ql-picker-label::before, 234 .ql-snow .ql-picker.ql-header .ql-picker-label::before,
232 .ql-snow .ql-picker.ql-header .ql-picker-item::before { 235 .ql-snow .ql-picker.ql-header .ql-picker-item::before {
233 content: "文本"; 236 content: "文本";
@@ -256,7 +259,6 @@ export default { @@ -256,7 +259,6 @@ export default {
256 .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before { 259 .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
257 content: "标题6"; 260 content: "标题6";
258 } 261 }
259 -  
260 .ql-snow .ql-picker.ql-font .ql-picker-label::before, 262 .ql-snow .ql-picker.ql-font .ql-picker-label::before,
261 .ql-snow .ql-picker.ql-font .ql-picker-item::before { 263 .ql-snow .ql-picker.ql-font .ql-picker-item::before {
262 content: "标准字体"; 264 content: "标准字体";