Commit b6cb6469f1fefb083e3c0134c0217ea14dcd7495
1 parent
63e632ce
富文本编辑器的 Editor 的图片上传报错的问题
Showing
3 changed files
with
11 additions
and
79 deletions
yudao-ui-admin/src/components/Editor/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <div> |
| 3 | 3 | <el-upload |
| 4 | - :action="uploadUrl" | |
| 4 | + :action="uploadFileUrl" | |
| 5 | 5 | :before-upload="handleBeforeUpload" |
| 6 | 6 | :on-success="handleUploadSuccess" |
| 7 | 7 | :on-error="handleUploadError" |
| ... | ... | @@ -10,7 +10,7 @@ |
| 10 | 10 | :headers="headers" |
| 11 | 11 | style="display: none" |
| 12 | 12 | ref="upload" |
| 13 | - v-if="this.type == 'url'" | |
| 13 | + v-if="this.type === 'url'" | |
| 14 | 14 | > |
| 15 | 15 | </el-upload> |
| 16 | 16 | <div class="editor" ref="editor" :style="styles"></div> |
| ... | ... | @@ -60,10 +60,8 @@ export default { |
| 60 | 60 | }, |
| 61 | 61 | data() { |
| 62 | 62 | return { |
| 63 | - uploadUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址 | |
| 64 | - headers: { | |
| 65 | - Authorization: "Bearer " + getAccessToken() | |
| 66 | - }, | |
| 63 | + uploadFileUrl: process.env.VUE_APP_BASE_API + "/admin-api/infra/file/upload", // 请求地址 | |
| 64 | + headers: { Authorization: "Bearer " + getAccessToken() }, // 设置上传的请求头部 | |
| 67 | 65 | Quill: null, |
| 68 | 66 | currentValue: "", |
| 69 | 67 | options: { |
| ... | ... | @@ -126,7 +124,7 @@ export default { |
| 126 | 124 | const editor = this.$refs.editor; |
| 127 | 125 | this.Quill = new Quill(editor, this.options); |
| 128 | 126 | // 如果设置了上传地址则自定义图片上传事件 |
| 129 | - if (this.type == 'url') { | |
| 127 | + if (this.type === 'url') { | |
| 130 | 128 | let toolbar = this.Quill.getModule("toolbar"); |
| 131 | 129 | toolbar.addHandler("image", (value) => { |
| 132 | 130 | this.uploadType = "image"; |
| ... | ... | @@ -172,11 +170,13 @@ export default { |
| 172 | 170 | // 获取富文本组件实例 |
| 173 | 171 | let quill = this.Quill; |
| 174 | 172 | // 如果上传成功 |
| 175 | - if (res.code == 200) { | |
| 173 | + // edit by 芋道源码 | |
| 174 | + if (res.code === 200 || res.code === 0) { | |
| 176 | 175 | // 获取光标所在位置 |
| 177 | 176 | let length = quill.getSelection().index; |
| 178 | 177 | // 插入图片 res.url为服务器返回的图片地址 |
| 179 | - quill.insertEmbed(length, "image", process.env.VUE_APP_BASE_API + res.fileName); | |
| 178 | + // edit by 芋道源码 | |
| 179 | + quill.insertEmbed(length, "image", res.data); | |
| 180 | 180 | // 调整光标到最后 |
| 181 | 181 | quill.setSelection(length + 1); |
| 182 | 182 | } else { | ... | ... |
yudao-ui-admin/src/components/ImageUpload/index.vue
| ... | ... | @@ -2,7 +2,7 @@ |
| 2 | 2 | <div class="component-upload-image"> |
| 3 | 3 | <el-upload |
| 4 | 4 | multiple |
| 5 | - :action="url" | |
| 5 | + :action="uploadFileUrl" | |
| 6 | 6 | list-type="picture-card" |
| 7 | 7 | :on-success="handleUploadSuccess" |
| 8 | 8 | :before-upload="handleBeforeUpload" |
| ... | ... | @@ -76,7 +76,7 @@ export default { |
| 76 | 76 | dialogImageUrl: "", |
| 77 | 77 | dialogVisible: false, |
| 78 | 78 | hideUpload: false, |
| 79 | - url: process.env.VUE_APP_BASE_API + "/admin-api/infra/file/upload", // 请求地址 | |
| 79 | + uploadFileUrl: process.env.VUE_APP_BASE_API + "/admin-api/infra/file/upload", // 请求地址 | |
| 80 | 80 | headers: { Authorization: "Bearer " + getAccessToken() }, // 设置上传的请求头部 |
| 81 | 81 | fileList: [] |
| 82 | 82 | }; | ... | ... |
yudao-ui-admin/src/components/UploadImage/index.vue deleted
| 1 | -<template> | |
| 2 | - <div class="component-upload-image"> | |
| 3 | - <el-upload | |
| 4 | - :action="uploadImgUrl" | |
| 5 | - list-type="picture-card" | |
| 6 | - :on-success="handleUploadSuccess" | |
| 7 | - :before-upload="handleBeforeUpload" | |
| 8 | - :on-error="handleUploadError" | |
| 9 | - name="file" | |
| 10 | - :show-file-list="false" | |
| 11 | - :headers="headers" | |
| 12 | - style="display: inline-block; vertical-align: top" | |
| 13 | - > | |
| 14 | - <img v-if="value" :src="value" class="avatar" /> | |
| 15 | - <i v-else class="el-icon-plus avatar-uploader-icon"></i> | |
| 16 | - </el-upload> | |
| 17 | - </div> | |
| 18 | -</template> | |
| 19 | - | |
| 20 | -<script> | |
| 21 | -import { getAccessToken } from "@/utils/auth"; | |
| 22 | - | |
| 23 | -export default { | |
| 24 | - components: {}, | |
| 25 | - data() { | |
| 26 | - return { | |
| 27 | - uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址 | |
| 28 | - headers: { | |
| 29 | - Authorization: "Bearer " + getAccessToken(), | |
| 30 | - }, | |
| 31 | - }; | |
| 32 | - }, | |
| 33 | - props: { | |
| 34 | - value: { | |
| 35 | - type: String, | |
| 36 | - default: "", | |
| 37 | - }, | |
| 38 | - }, | |
| 39 | - methods: { | |
| 40 | - handleUploadSuccess(res) { | |
| 41 | - this.$emit("input", res.url); | |
| 42 | - this.loading.close(); | |
| 43 | - }, | |
| 44 | - handleBeforeUpload() { | |
| 45 | - this.loading = this.$loading({ | |
| 46 | - lock: true, | |
| 47 | - text: "上传中", | |
| 48 | - background: "rgba(0, 0, 0, 0.7)", | |
| 49 | - }); | |
| 50 | - }, | |
| 51 | - handleUploadError() { | |
| 52 | - this.$message({ | |
| 53 | - type: "error", | |
| 54 | - message: "上传失败", | |
| 55 | - }); | |
| 56 | - this.loading.close(); | |
| 57 | - }, | |
| 58 | - }, | |
| 59 | - watch: {}, | |
| 60 | -}; | |
| 61 | -</script> | |
| 62 | - | |
| 63 | -<style scoped lang="scss"> | |
| 64 | -.avatar { | |
| 65 | - width: 100%; | |
| 66 | - height: 100%; | |
| 67 | -} | |
| 68 | -</style> |