Compare commits
4 Commits
b992005e5d
...
f7dea91190
| Author | SHA1 | Date |
|---|---|---|
|
|
f7dea91190 | |
|
|
e22323971e | |
|
|
f593d36745 | |
|
|
245e0b76f9 |
|
|
@ -2,7 +2,7 @@ package ${packageName}.controller;
|
|||
|
||||
import java.util.List;
|
||||
import java.io.IOException;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@
|
|||
"author": "若依",
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"dev": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
|
||||
"build:prod": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
|
||||
"build:stage": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build --mode staging",
|
||||
"dev": "vue-cli-service serve",
|
||||
"build:prod": "vue-cli-service build",
|
||||
"build:stage": "vue-cli-service build --mode staging",
|
||||
"preview": "node build/index.js --preview",
|
||||
"lint": "eslint --ext .js,.vue src"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -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,29 @@ 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>
|
||||
|
|
|
|||
Loading…
Reference in New Issue