1311
国内知名Wchat团队荣誉出品顶级IM通讯聊天系统团队言语在先:想低价购买者勿扰(团队是在国内首屈一指的通信公司离职后组建,低价购买者/代码代码贩子者/同行勿扰/基础版本低于30w勿扰)。想购买劣质低等产品者勿扰(行业鱼龙混杂,想购买类似低能协议xmpp者勿扰)。想购买由类似openfire第三方开源改造而来的所谓第三方通信server者勿扰。想购买没有做任何安全加密场景者勿扰(随便一句api 一个接口就构成了红包收发/转账/密码设置等没有任何安全系数可言的低质产品)。想购买非运营级别通信系统勿扰(到处呼喊:最稳定/真正可靠/大并发/真正安全!所有一切都需要实际架构支撑以及理论数值测验)。想购买无保障/无支撑者勿扰(1W/4W/10W低质产品不可谓没有,必须做到:大并发支持合同保障/合作支持运维保障/在线人数支持架构保障)。想购买消息丢包者勿扰(满天飞的所谓消息确认机制,最简单的测验既是前端支持消息收发demo测试环境,低质产品一秒收发百条消息必丢必崩, 别提秒发千条/万条,更低质产品可测验:同时发九张图片/根据数字12345678910发送出去,必丢!android vs ios)。想购买大容量群uer者勿扰(随便宣传既是万人大群/几千大群/群组无限,小团队产品群组上线用户超过4000群消息体量不用很大手机前端必卡)。最重要一点:口口声声说要运营很大的系统 却想出十几个money的人群勿扰,买产品做系统一要稳定二要长久用三要抛开运维烦恼,预算有限那就干脆 别买,买了几万的系统你一样后面用不起来会烂掉!。产品体系包括:android ios server adminweb maintenance httpapi h5 webpc (支持server压测/前端消息收发压测/httpapi压测)。。支持源码,但需要您拿去做一个伟大的系统出来! 。。团队产品目前国内没有同质化,客户集中在国外,有求高质量产品的个人或团队可通过以下方式联系到我们(低价者勿扰!) 。。。v信 onlinesam q 513275129。。。。产品不多介绍直接加我 测试产品更直接。。。。。创新从未停止 更新不会终止 大陆唯一一家支持大并发保障/支持合同费用包含运维支撑的团队
0
0 1337天前
1254
利用ajax实现excel报表导出【解决乱码问题】,供大家参考,具体内容如下背景项目中遇到一个场景,要导出一个excel报表。由于需要token验证,所以不能用a标签;由于页面复杂,所以不能使用表单提交。初步考虑前端使用ajax,后端返回流,定义指定的header。相关学习推荐:javascript视频教程第一版主要代码前端使用jquery的ajaxvar queryParams = {"test":"xxx"};var url = "xxx";$.ajax({ type : "POST", //提交方式 url : url,//路径 contentType: "application/json", data: JSON.stringify(queryParams), beforeSend: function (request) { request.setRequestHeader("Authorization", "xxx"); }, success : function(result) { const blob = new Blob([result], {type:"application/vnd.ms-excel"}); if(blob.size < 1) { alert('导出失败,导出的内容为空!'); return } if(window.navigator.msSaveOrOpenBlob) { navigator.msSaveOrOpenBlob(blob, 'test.xls') } else { const aLink = document.createElement('a'); aLink.style.display = 'none'; aLink.href = window.URL.createObjectURL(blob); aLink.download = 'test.xls'; document.body.appendChild(aLink); aLink.click(); document.body.removeChild(aLink); } }});后端使用easypoi(如何使用easypoi请自行百度)import cn.afterturn.easypoi.excel.ExcelExportUtil;import cn.afterturn.easypoi.excel.entity.ExportParams; @PostMapping(value = "/download")public void downloadList(@RequestBody Objct obj, HttpServletResponse response) { ...... List excelList = new ArrayList<>(); // excel总体设置 ExportParams exportParams = new ExportParams(); // 指定sheet名字 exportParams.setSheetName("test"); Workbook workbook = ExcelExportUtil.exportExcel(exportParams, Custom.class, excelList); response.setContentType("application/vnd.ms-excel"); response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("test", "utf-8") + ".xls"); OutputStream outputStream = response.getOutputStream(); workbook.write(outputStream); outputStream.flush(); outputStream.close(); ......}测试结果excel能正常导出,但下载下来的excel全是乱码。经过各种找答案,整理了一下可能是以下原因导致:1、后端未设置字符集,或者在spring框架的过滤器中统一设置了字符集;2、前端页面未设置字符集编码;3、需要在ajax中添加 request.responseType = “arraybuffer”;经过不断测试,我的应该是第三点导致。但在jquery ajax 中添加后仍然不起作用,乱码问题始终无法解决。第二版主要代码前端,使用原生的ajax。后端未变动。var xhr = new XMLHttpRequest();xhr.responseType = "arraybuffer"; xhr.open("POST", url, true);xhr.onload = function () { const blob = new Blob([this.response], {type:"application/vnd.ms-excel"}); if(blob.size < 1) { alert('导出失败,导出的内容为空!'); return; } if(window.navigator.msSaveOrOpenBlob) { navigator.msSaveOrOpenBlob(blob, 'test.xls') } else { const aLink = document.createElement('a'); aLink.style.display = 'none'; aLink.href = window.URL.createObjectURL(blob); aLink.download = 'testxls'; document.body.appendChild(aLink); aLink.click(); document.body.removeChild(aLink); return; }}xhr.setRequestHeader("Authorization", "xxx");xhr.setRequestHeader("Content-Type", "application/json");xhr.send(JSON.stringify(queryParams));测试结果下载的excel不再乱码,原生ajax中使用 “arraybuffer” 使用是生效的。总结“arraybuffer” 这个参数导致的excel导出乱码,在原生的ajax中设置是有效的,在jquery的ajax中暂时还没找到生效的方式。以上就是ajax实现excel报表导出的详解的详细内容
0
0 1383天前
1290
其实解决方案有很多。如果在jsp下,你可以写标签来转换成你想要的html富文本,还可以实现自定义的过滤。如果在velocity下,你可以写一个宏来转码,之前公司的宏写的就不错,各种都实现了。还可以在js里转换,这种做法适用于ajax输出html。以下是自己实验的例子。<html> <head><script src="jquery.js"></script><script> var html ="期望项目开始时间:_______ <div>期望项目交付时间:_______ </div><div>1)项目启动:交付内容,计划完成时间</div><div>2)里程碑1:交付内容,计划完成时间</div><div>3)里程碑2:交付内容,计划完成时间 </div><div>4)... ...</div><div>5)项目上线:交付内容,计划完成时间</div><div>我们会按月提交具体需求,具体案例的项目时间表会在项目管理中跟外包公司确认</div>"; $(function(){ html = noEscapeHtml(html); alert(html); $("body").html(html); }); function noEscapeHtml(html) { return html.replace(/(\&|\&)gt;/g, ">") .replace(/(\&|\&)lt;/g, "<") .replace(/(\&|\&)quot;/g, "\""); } </script></head> <body> </body> </html>主要是这正则,还有其它要转的,依次跟上就ok了。我这里只是转换的一个示范。
0
0 1402天前