From a50b2273b6e6038a2daebcedbe11b9fb6e772f8d Mon Sep 17 00:00:00 2001 From: purocean Date: Fri, 3 May 2019 19:59:56 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=8A=93=E5=8F=96=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E5=88=B0=E6=9C=AC=E5=9C=B0=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/.eslintrc.js | 2 +- frontend/package.json | 1 + frontend/src/components/View.vue | 16 ++++++++++------ frontend/yarn.lock | 10 ++++++++++ 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/frontend/.eslintrc.js b/frontend/.eslintrc.js index 98d04316..b9016025 100644 --- a/frontend/.eslintrc.js +++ b/frontend/.eslintrc.js @@ -8,7 +8,7 @@ module.exports = { '@vue/standard' ], rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'no-console': 'off', 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' }, parserOptions: { diff --git a/frontend/package.json b/frontend/package.json index d4d2db1d..3e28c930 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -23,6 +23,7 @@ "markdown-it-katex": "^2.0.3", "markdown-it-multimd-table": "^3.1.3", "markdown-it-task-lists": "^2.1.1", + "mime-types": "^2.1.24", "normalize.css": "^8.0.1", "socket.io-client": "^2.2.0", "vue": "^2.6.10", diff --git a/frontend/src/components/View.vue b/frontend/src/components/View.vue index 6ab2fb63..caf52c75 100644 --- a/frontend/src/components/View.vue +++ b/frontend/src/components/View.vue @@ -38,6 +38,7 @@ import 'github-markdown-css/github-markdown.css' import 'highlight.js/styles/atom-one-dark.css' import _ from 'lodash' +import mime from 'mime-types' import Markdown from 'markdown-it' import TaskLists from 'markdown-it-task-lists' import katex from 'markdown-it-katex' @@ -209,12 +210,15 @@ export default { img.src.startsWith('http://') || img.src.startsWith('https://') ) { - const ximg = document.createElement('img') - ximg.crossOrigin = 'anonymous' - ximg.src = `api/proxy?url=${encodeURI(img.src)}` - ximg.onload = () => { - transform(ximg) - } + window.fetch(`api/proxy?url=${encodeURI(img.src)}`).then(r => { + r.blob().then(blob => { + const imgFile = new File([blob], 'file.' + mime.extension(r.headers.get('content-type'))) + file.upload(this.fileRepo, this.filePath, imgFile, result => { + this.$bus.emit('tree-refresh') + this.$bus.emit('editor-replace-value', img.src, result.relativePath) + }) + }) + }) } return diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 639af025..ca8d416e 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -4546,6 +4546,10 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" +mime-db@1.40.0: + version "1.40.0" + resolved "https://registry.npm.taobao.org/mime-db/download/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + "mime-db@>= 1.38.0 < 2": version "1.39.0" resolved "http://registry.npm.taobao.org/mime-db/download/mime-db-1.39.0.tgz#f95a20275742f7d2ad0429acfe40f4233543780e" @@ -4560,6 +4564,12 @@ mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.19: dependencies: mime-db "~1.38.0" +mime-types@^2.1.24: + version "2.1.24" + resolved "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + dependencies: + mime-db "1.40.0" + mime@1.4.1: version "1.4.1" resolved "http://registry.npm.taobao.org/mime/download/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"