百搜论坛欢迎您的加入!
adimg adimg
 
昨日:篇  今日:篇   总帖:篇   会员:
今日:0    总帖:3
daima
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天前
admin
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天前
admin
1290
其实解决方案有很多。如果在jsp下,你可以写标签来转换成你想要的html富文本,还可以实现自定义的过滤。如果在velocity下,你可以写一个宏来转码,之前公司的宏写的就不错,各种都实现了。还可以在js里转换,这种做法适用于ajax输出html。以下是自己实验的例子。<html> <head><script src="jquery.js"></script><script> var html ="期望项目开始时间:_______ &lt;div&gt;期望项目交付时间:_______ &lt;/div&gt;&lt;div&gt;1)项目启动:交付内容,计划完成时间&lt;/div&gt;&lt;div&gt;2)里程碑1:交付内容,计划完成时间&lt;/div&gt;&lt;div&gt;3)里程碑2:交付内容,计划完成时间 &lt;/div&gt;&lt;div&gt;4)... ...&lt;/div&gt;&lt;div&gt;5)项目上线:交付内容,计划完成时间&lt;/div&gt;&lt;div&gt;我们会按月提交具体需求,具体案例的项目时间表会在项目管理中跟外包公司确认&lt;/div&gt;"; $(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天前
快速发帖 高级模式
联系站长 友链申请桂ICP备19000949号-1     桂ICP备19000949号-1
您的IP:18.217.109.151,2024-04-30 15:08:22,Processed in 0.18496 second(s).
免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。
Powered by HadSky 7.12.9
免责声明
1、本站资源,均来自网络,版权归原作者,所有资源和文章仅限用于学习和研究目的 。
2、不得用于商业或非法用途,否则,一切责任由该用户承担 !
如果觉得本文还不错请点个赞或者打赏点轻币哦~
拒绝伸手党,拿走请回复,尊重楼主,尊重你我他~

侵权删除请致信 E-Mail:207882320@qq.com