Просмотр исходного кода

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

RuoYi лет назад: 2
Родитель
Сommit
dc121ff4aa
1 измененных файлов с 10 добавлено и 8 удалено
  1. 10 8
      ruoyi-ui/src/components/Editor/index.vue

+ 10 - 8
ruoyi-ui/src/components/Editor/index.vue

@@ -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
       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
     },
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
       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
   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
 .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
 .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: "标准字体";