威海网站建设在哪网站开发做原型吗

张小明 2026/1/7 13:28:32
威海网站建设在哪,网站开发做原型吗,电子商务网站推广方案,公司做网站都需要什么材料山东某软件公司前端工程师需求实现记录#xff1a;基于CKEditor4的文档处理集成方案 一、需求拆解与技术选型#xff08;Vue2 CKEditor4 JSP#xff09; 核心功能确认#xff1a; 编辑器增强需求#xff1a; Word粘贴净化#xff08;保留核心样式#xff0c;去除冗余…山东某软件公司前端工程师需求实现记录基于CKEditor4的文档处理集成方案一、需求拆解与技术选型Vue2 CKEditor4 JSP核心功能确认编辑器增强需求Word粘贴净化保留核心样式去除冗余代码多格式文档导入DOCX/XLSX/PPTX/PDF转HTML微信图文抓取图片下载阿里云OSS上传技术约束前端Vue2 CLI需兼容IE11后端JSPServlet 3.0存储阿里云OSS直传模式插件选型评估插件方案优势适配成本授权费用CKEditor4官方插件天然兼容文档完善低$1,200最终选择CKEditor4 第三方插件组合中$850具体插件组合pastefromword官方净化粘贴uploadimage图片上传docx-converter文档转换需二次开发微信内容处理模块自研二、前端集成实现Vue2 CKEditor4编辑器初始化配置// src/components/RichEditor.vueimportckeditor4/full/ckeditor.js;importckeditor4/plugins/pastefromword;importckeditor4/plugins/uploadimage;exportdefault{data(){return{content:,editor:null};},mounted(){this.initEditor();},methods:{initEditor(){this.editorCKEDITOR.replace(editor,{extraPlugins:pastefromword,uploadimage,wechat-paste,// 自定义微信插件filebrowserUploadUrl:/file/upload,// JSP上传接口pastePreprocessor:(html){if(this.isWechatContent(html)){returnthis.processWechatHtml(html);}returnthis.cleanWordHtml(html);},// 阿里云OSS直传配置uploadimage:{uploadUrl:/file/sign,// 获取OSS签名接口withCredentials:false}});},cleanWordHtml(html){// 使用正则净化Word冗余代码returnhtml.replace(/o:p\/o:p/g,).replace(/span stylefont-family:宋体;/g,span);},isWechatContent(html){return/mmbiz\.qpic\.cn/.test(html);// 微信图片域名特征}}};微信内容处理模块// src/utils/wechatProcessor.jsexportasyncfunctionprocessWechatHtml(html){constimgRegex/]src([^])/gi;constmatches[];letmatch;while((matchimgRegex.exec(html))!null){matches.push(match[1]);}constuploadedUrlsawaitPromise.all(matches.map(urlfetch(/api/wechat-img,{method:POST,body:JSON.stringify({url})}))).then(resPromise.all(res.map(rr.json())));returnmatches.reduce((result,oldUrl,index){returnresult.replace(oldUrl,uploadedUrls[index].url);},html);}三、后端JSP实现阿里云OSS集成图片上传接口%-- /WEB-INF/views/fileUpload.jsp --% % page importcom.aliyun.oss.OSSClient % % page importcom.aliyun.oss.common.utils.BinaryUtil % % page importjava.util.UUID % % // 获取OSS配置 String endpoint https://oss-cn-shandong.aliyuncs.com; String accessKeyId your-access-key; String accessKeySecret your-secret-key; String bucketName your-bucket; // 处理文件上传 try { String fileName UUID.randomUUID().toString() .jpg; String objectKey uploads/ fileName; // 生成POST上传策略前端直传 OSSClient client new OSSClient(endpoint, accessKeyId, accessKeySecret); java.util.Date expiration new java.util.Date(System.currentTimeMillis() 3600 * 1000); String policy client.generatePostPolicy(expiration, new com.aliyun.oss.HttpMethod[] {}); byte[] binaryData policy.getBytes(utf-8); String encodedPolicy BinaryUtil.toBase64String(binaryData); String postSignature client.calculatePostSignature(policy); // 返回签名信息 response.setContentType(application/json); % { success: true, data: { endpoint: % endpoint %, accessid: % accessKeyId %, policy: % encodedPolicy %, signature: % postSignature %, key: % objectKey %, host: https://% bucketName %.% endpoint.split(//)[1] % } } % } catch (Exception e) { out.print({\success\:false,\message\:\ e.getMessage() \}); } %文档导入服务Apache POI集成// src/main/java/com/example/service/DocumentService.javapublicclassDocumentService{publicStringimportWord(InputStreaminputStream)throwsIOException{XWPFDocumentdocumentnewXWPFDocument(inputStream);XHTMLConverterconverterXHTMLConverter.getInstance();ByteArrayOutputStreamoutnewByteArrayOutputStream();converter.convert(document,out,null);returnout.toString(UTF-8);}publicListextractImages(Stringhtml){ListimageUrlsnewArrayList();PatternpatternPattern.compile(]src\([^\])\);Matchermatcherpattern.matcher(html);while(matcher.find()){imageUrls.add(matcher.group(1));}returnimageUrls;}}四、关键问题解决跨域问题处理前端配置// vue.config.jsmodule.exports{devServer:{proxy:{/api:{target:http://localhost:8080,changeOrigin:true}}}};后端配置TomcatCorsFilter org.apache.catalina.filters.CorsFilter cors.allowed.origins *IE11兼容性处理添加polyfillnpminstall--save-dev babel/polyfill core-js修改babel配置// babel.config.jsmodule.exports{presets:[[vue/cli-plugin-babel/preset,{useBuiltIns:entry,corejs:3}]]};五、部署方案阿里云部署架构[用户浏览器] → [CDN加速] → [SLB负载均衡] ↓ ↓ [Vue前端(Nginx)] [JSP后端(Tomcat)] ↓ ↓ [OSS存储] [MySQL RDS]性能优化措施图片处理使用OSS图片处理?x-oss-processimage/resize,w_800启用CDN缓存TTL1年文档转换使用线程池处理大文件Tomcat配置六、交付成果前端包编译后的Vue组件UMD格式CKEditor4定制版本含插件微信内容处理工具库后端包JSP接口代码Maven项目Apache POI文档处理模块OSS集成工具类文档集成指南含IE11注意事项接口文档Swagger格式测试用例覆盖Word/Excel/微信等场景方案价值通过组合开源插件与定制开发在2周内完成了需求交付相比商业方案节省70%成本特别针对政府客户常见的IE11和信创环境进行了优化为后续项目积累了可复用的技术资产。复制插件说明此教程以CKEditor4.x为例使用其他编辑器的查看对应教程。将下列文件夹复制到项目中/WordPaster/ckeditor/plugins/imagepaster/ckeditor/plugins/netpaster/ckeditor/plugins/pptpaster/ckeditor/plugins/pdfimport上传插件上传插件文件夹将imagepaster,netpaster文件夹上传到现有项目ckeditor/plugins目录中在工具栏中增加插件按钮引用js初始化控件WordPaster.getInstance({//上传接口http://www.ncmem.com/doc/view.aspx?idd88b60a2b0204af1ba62fa66288203edPostUrl:api,//为图片地址增加域名http://www.ncmem.com/doc/view.aspx?id704cd302ebd346b486adf39cf4553936ImageUrl:,//设置文件字段名称http://www.ncmem.com/doc/view.aspx?idc3ad06c2ae31454cb418ceb2b8da7c45FileFieldName:file,//提取图片地址http://www.ncmem.com/doc/view.aspx?id07e3f323d22d4571ad213441ab8530d1ImageMatch:,Cookie:PHPSESSID});//加载控件配置上传接口注意1.如果接口字段名称不是file请配置FileFieldName。ueditor接口中使用的upfile字段点击查看详细教程配置ImageMatch用于匹配JSON数据点击查看详细教程配置ImageUrl用于为图片增加域名前缀点击查看详细教程配置Session如果接口有权限验证登陆验证SESSION验证请配置COOKIE。或取消权限验证。参考点击查看详细教程说明1.请先测试您的接口点击查看详细教程功能演示编辑器界面导入Word文档,支持doc,docx导入Excel文档,支持xls,xlsx粘贴Word一键粘贴Word内容自动上传Word中的图片保留文字样式。Word转图片一键导入Word文件并将Word文件转换成图片上传到服务器中。导入PDF一键导入PDF文件并将PDF转换成图片上传到服务器中。导入PPT一键导入PPT文件并将PPT转换成图片上传到服务器中。上传网络图片一键自动上传网络图片自动下载远程服务器图片自动上传远程服务器图片下载示例点击下载完整示例
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

电子商务网站建设人才调研wordpress 自定义字段

想要轻松下载抖音无水印视频、批量获取用户所有作品,甚至下载直播内容?douyin-downloader正是你需要的强大工具!无论你是内容创作者、研究者还是普通用户,这个开源项目都能帮你高效获取抖音平台上的优质内容。 【免费下载链接】do…

张小明 2026/1/5 21:52:51 网站建设

如何开发电子商务网站企业网站需要响应式

SaaS短链接系统架构解密:从技术选型到亿级流量承载 【免费下载链接】shortlink 🔥 热门推荐 🔥 SaaS 短链接系统,承载高并发和海量存储等场景难题。专为实习、校招以及社招而出的最新项目,项目质量不亚于 12306 铁路购…

张小明 2026/1/6 15:05:29 网站建设

山东省级建设主管部门网站被墙网站怎么做301跳转

如何快速搭建淘宝直播弹幕采集系统:完整配置指南 【免费下载链接】taobao-live-crawler A crawler on taobao live barrages. 项目地址: https://gitcode.com/gh_mirrors/ta/taobao-live-crawler 淘宝直播弹幕采集系统是一款专为电商数据分析设计的开源工具&…

张小明 2026/1/6 1:16:29 网站建设

长春市住房和城乡建设厅网站wordpress手机版加搜索框

如何用 QThread 构建稳定 HMI 后台:从零开始的实战指南你有没有遇到过这样的场景?点击“开始采集”按钮后,HMI 界面瞬间卡住,进度条不动、按钮点不了、甚至连关闭窗口都要等十几秒——用户暴跳如雷,而你在后台默默调试…

张小明 2026/1/5 19:56:16 网站建设

博物馆网站制作江门模板开发建站

传统SEO的局限与突破 传统搜索引擎优化(SEO)基于一个相对简单的逻辑:分析用户输入的关键词,然后在索引库中寻找最相关的结果。相关性主要由几个因素决定:关键词匹配度、页面权威性(通过外链衡量&#xff0…

张小明 2026/1/5 23:15:21 网站建设