|
@@ -18,6 +18,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import axios from 'axios';
|
|
|
import Quill from "quill";
|
|
|
import "quill/dist/quill.core.css";
|
|
|
import "quill/dist/quill.snow.css";
|
|
@@ -135,6 +136,7 @@ export default {
|
|
|
this.quill.format("image", false);
|
|
|
}
|
|
|
});
|
|
|
+ this.Quill.root.addEventListener('paste', this.handlePasteCapture, true);
|
|
|
}
|
|
|
this.Quill.clipboard.dangerouslyPasteHTML(this.currentValue);
|
|
|
this.Quill.on("text-change", (delta, oldDelta, source) => {
|
|
@@ -192,8 +194,31 @@ export default {
|
|
|
handleUploadError() {
|
|
|
this.$message.error("图片插入失败");
|
|
|
},
|
|
|
- },
|
|
|
-};
|
|
|
+ // 复制粘贴图片处理
|
|
|
+ handlePasteCapture(e) {
|
|
|
+ const clipboard = e.clipboardData || window.clipboardData;
|
|
|
+ if (clipboard && clipboard.items) {
|
|
|
+ for (let i = 0; i < clipboard.items.length; i++) {
|
|
|
+ const item = clipboard.items[i];
|
|
|
+ if (item.type.indexOf('image') !== -1) {
|
|
|
+ e.preventDefault();
|
|
|
+ const file = item.getAsFile();
|
|
|
+ this.insertImage(file);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ insertImage(file) {
|
|
|
+ const formData = new FormData();
|
|
|
+ formData.append("file", file);
|
|
|
+ axios.post(this.uploadUrl, formData, { headers: { "Content-Type": "multipart/form-data", Authorization: this.headers.Authorization } }).then(res => {
|
|
|
+ this.handleUploadSuccess(res.data);
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
</script>
|
|
|
|
|
|
<style>
|