当前位置: 首页 > news >正文

建设实验室网站的意义苏州网站建设营销推广

建设实验室网站的意义,苏州网站建设营销推广,网页设计html代码大全桂林,春雨直播免费视频引言&#xff1a; 富文本编辑器传图片会解码成64位&#xff0c;非常长导致数据库会报错第一种方法&#xff1a;将数据库类型改成 mediumtext第二种办法&#xff1a;本文中的方法 说明&#xff0c;本周文所用语法糖为Vue3 setup语法&#xff0c;即<script setup> 思路 拦…

引言:

  • 富文本编辑器传图片会解码成64位,非常长导致数据库会报错
  • 第一种方法:将数据库类型改成 mediumtext
  • 第二种办法:本文中的方法

说明,本周文所用语法糖为Vue3 setup语法,即<script setup>

思路

  • 拦截富文本编辑器上传图片功能,即点击按钮将事件绑定到inputupload的上传图片上
  • 将图片上传到自己服务器,并返回url地址
  • 将url地址存到数据库,显示的时候直接映射
第一步:安装 quill-image-extend-module
npm install quill-image-extend-module --save-dev
第二部:全局注册 main.js
// 富文本编辑器
import { QuillEditor,Quill } from '@vueup/vue-quill'
import '@vueup/vue-quill/dist/vue-quill.snow.css';
import {container,QuillWatch,ImageExtend} from "quill-image-extend-module";
Quill.register('modules/ImageExtend', ImageExtend)const app = createApp(App)
app.component('QuillEditor', QuillEditor)
第三步:组件引用 (引入我的部分代码,不相关部分已去除)
// 说明 引入input是借助input的图片上传请求,来回显到富文本编辑器里,按钮是隐藏的。
<template><QuillEditorv-model:content="form.productParaImgs"contentType="html"theme="snow"ref="productParaImgsForm":options="productParaImgsEditorOption"@change="onEditorChange($event)"style="height:200px"></QuillEditor><inputtype="file"accept=".png,.jpg,.jpeg"@change="productParaImgsChange"id="productParaImgsUpload"style="display: none;border: 4px solid red"/>
</template><script setup>
import {container, ImageExtend, QuillWatch} from 'quill-image-extend-module'
const productParaImgsForm = ref(null);// 富文本编辑器 参数设置
const productParaImgsEditorOption = ref({placeholder: "请输入",theme: "snow",modules: {ImageExtend: {  // 如果不作设置,即{}  则依然开启复制粘贴功能且以base64插入name: 'img',  // 图片参数名size: 3,  // 可选参数 图片大小,单位为M,1M = 1024kbaction: '',  // 富文本服务器地址(不用)// response 为一个函数用来获取服务器返回的具体图片地址(不用)response: (res) => {},headers: (xhr) => {// 请求头,携带tokenxhr.setRequestHeader('token', window.sessionStorage.getItem('token'))},},// 核心步骤,在富文本点击图片按钮的一刻判断,走input的change事件,即-将图片上传到服务器,再返回url地址用来保存。toolbar: {container: container,  // container为工具栏,此次引入了全部工具栏,也可自行配置handlers: {'image': function (value) {  // 如果点击了富文本的图片按钮if (value) {// 触发 input的事件 (productParaImgsUpload为input的id)document.querySelector("#productParaImgsUpload").click();} else {this.quill.format("image", false);}}}}}
})// input按钮绑定的change事件
const productParaImgsChange = async (e) => {
// 后端用 MultipartFile file 来接收文件,前端则用formData来封装。let formData = new FormData();let file = e.target.files[0]; // 固定写法,可自行打印查看formData.append('file', file);// requestUitl.post 是我封装的请求,可自行改成ajaxlet result = await requestUitl.post("/sys/product/uploadImage", formData);if (result.data.code == 647) {// Vue3 setup 语法 productParaImgsForm.value.getQuill()// vue2用 this.$ref.productParaImgsForm.quilllet quill = productParaImgsForm.value.getQuill() // 获取这个富文本的光标//光标位置let length = quill.getSelection().index; // 插入图片 图片地址是拼接的 // getServerUrl()是你的请求头,替换即可// result.data.src 是后端返回的urlquill.insertEmbed(length, "image", getServerUrl() + result.data.src);  // 调整光标内容后面quill.setSelection(length + 1); }
}
</script>
后端返回类型参考
Map<String, Object> dataMap = new HashMap<>();
dataMap.put("title", newFileName);  // 文件名
dataMap.put("src", "image/product/" + newFileName); // 请求路径,拼接getServerUrl()即可用
请求封装参考

export function post(url, params = {}) {return new Promise((resolve, reject) => {httpService({url: url,method: 'post',data: params}).then(response => {resolve(response);}).catch(error => {reject(error);});});
}
export default {post,getServerUrl
}
http://www.yayakq.cn/news/721140/

相关文章:

  • 中国航天建设集团有限公司网站制作灯笼的过程
  • 做电影网站要怎么拿到版权青少年编程培训哪家好
  • 广平专业做网站高校二级学院网站建设管理制度
  • 旅游网站平台笑话网站域名
  • 网站建设肆金手指排名4怎么去推广一个产品
  • ppt做会动彩字网站重庆工程信息网查询
  • 17网站一起做网店普宁软件定制开发
  • 免费下载网站有哪些建设免费网站登录网址
  • 呼和浩特市做网站公司好的贵港市建设局网站
  • 沈阳高铁站网上定做相册
  • 泰安房产交易网官网关键词优化徐州百都网络
  • 郑州修了你官方网站前端网站页面模板
  • 网站策划建设阶段的推广南京外贸网站建站
  • 最牛的html5网站建设建立多多少钱
  • 网站建设玖首选金手指专做鞋子的网站
  • 深圳龙岗网站建设哪家好公司黄骅市人事考试网
  • 做网站需要留什么条件手表网站排名186信息网
  • 无锡网站建设课程网站建设的软件介绍
  • 网站建设大忌制作表白网站教程
  • 推上网站wordpress php 文件上传
  • 自己做的网站 怎么在网上销售WordPress未声明图片大小
  • 梧州建设网站如何刷网站流量
  • 网站服务器错误平面广告设计好学吗
  • 顺义做网站同学怎样做28网站代理
  • 贵阳做网站做得好的手机如何登录wordpress
  • 潍坊科技网站建设wordpress建站更换图片
  • 新手学做网站学哪些知识wordpress 登陆访问
  • 江阴住房和城乡建设局网站深圳旅游攻略景点推荐
  • 为什么做企业网站佛山建设网站公司吗
  • 站长工具seo综合查询怎么用龙岩天宫山是什么菩萨