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

用asp.net做的网站模板下载网站卖链接

用asp.net做的网站模板下载,网站卖链接,做木工网站,软件技术毕业设计论文导出excel文件是开发中常见的需求 常见的做法一般是直接通过请求接口响应对象HttpServletResponse把文件输出 我们可以使用原生的poi工具类操作.也可以使用easypoi.easyexcel等基于poi二次封装的工具处理 下面是代码 /*** 导出列表** param request* param response*/Overri…
导出excel文件是开发中常见的需求
常见的做法一般是直接通过请求接口响应对象HttpServletResponse把文件输出
我们可以使用原生的poi工具类操作.也可以使用easypoi.easyexcel等基于poi二次封装的工具处理
下面是代码

/*** 导出列表** @param request* @param response*/@Overridepublic void export(AuctionRequest request, HttpServletResponse response) throws IOException {Map<String, Object> queryMap = Maps.newHashMap(BeanConvertUtils.beanToMap(request));List<Auction> auctions = auctionManager.listAuctions(queryMap);if (CollectionUtils.isEmpty(auctions)) {throw new AuctionException("当前数据为空");}List<AuctionDataExportModel> auctionExportModels = auctions.stream().map(item -> {AuctionDataExportModel auctionExportModel = new AuctionDataExportModel();auctionExportModel.setAuCode(item.getAuCode());auctionExportModel.setAuTitle(item.getAuTitle());return auctionExportModel;}).collect(Collectors.toList());response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");response.setHeader("Access-Control-Allow-Origin", "*");response.setCharacterEncoding("utf-8");String fileName = URLEncoder.encode("导出", "UTF-8").replaceAll("\\+", "%20");response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + System.currentTimeMillis() + ".xlsx");EasyExcel.write(response.getOutputStream(), AuctionDataExportModel.class).sheet("数据区").doWrite(auctionExportModels);}
这样操作乍一看没啥问题.但是我这边前端同事是使用的axios发送的请求,必须指定响应类型为 ‘arraybuffer’ 或者 ‘blob’.
axios({method: 'post',url: '/export',responseType: 'arraybuffer',//'blob'
}).then(res => {})
正常下载是没有问题的,一旦代码报错.因为指定了响应类型.就拿不到返回的错误信息了.
于是采用了成功的时候后端直接把文件上传到s3服务器,然后把文件地址返给前端.出错的时候把错误信息返给前端,就解决了上述的问题
上代码
/*** 导出列表** @param request*/@Overridepublic String export(AuctionRequest request) {Map<String, Object> queryMap = Maps.newHashMap(BeanConvertUtils.beanToMap(request));List<Auction> auctions = auctionManager.listAuctions(queryMap);if (CollectionUtils.isEmpty(auctions)) {throw new AuctionException("当前数据为空");}List<AuctionDataExportModel> auctionExportModels = auctions.stream().map(item -> {AuctionDataExportModel auctionExportModel = new AuctionDataExportModel();auctionExportModel.setAuCode(item.getAuCode());auctionExportModel.setAuTitle(item.getAuTitle());return auctionExportModel;}).collect(Collectors.toList());//上传至s3服务器,同时将路径返回给前台ByteArrayOutputStream bos = new ByteArrayOutputStream();EasyExcel.write(bos, AuctionDataExportModel.class).sheet("数据区").doWrite(auctionExportModels);byte[] binary = bos.toByteArray();InputStream inputStream = new ByteArrayInputStream(binary);String excelName = "导出" + IdWorker.getMillisecond() + ".xls";String returnFilePath = CommonsConstants.STORE_AUCTION_SYNC_EXCEL + excelName;PutObjectResult putObjectResult = s3Util.uploadFile(inputStream, "xls", returnFilePath);org.wildfly.common.Assert.assertNotNull(putObjectResult);return returnFilePath;}
我这里是传到s3服务器,其他的文件服务器(minio.七牛云)也都提供类似的上传api.按需替换就好了.
http://www.khdw.cn/news/19194.html

相关文章:

  • 网站的运营成都网站快速排名提升
  • 鄞州区住房和城乡建设委员网站seo建站公司
  • 怎么做网站写书网站排名优化的技巧
  • 免费网站现在是怎么了株洲网页设计
  • jsp网站建设作业百度广告联盟点击一次多少钱
  • 做网站要准备的需求整站优化要多少钱
  • 流行的wordpress主题seo排名是什么意思
  • 免费的自建视频网站淘宝运营培训班哪里有
  • 有没有必要为B2B网站做外链百度页面推广
  • 平顶山做网站的公司app拉新
  • 唐山网站制作价格百度收录提交网站后多久收录
  • 自己做文学网站赚钱吗百度科技有限公司
  • 网站建设价格标准报价网络营销的主要手段和策略
  • wordpress 访问限制seo查询工具有哪些
  • 网站结构的规划网站搜索排名优化软件
  • 优秀建筑案例分析seo搜索引擎工具
  • 沈阳做网站的设计公司哪家好seo一个关键词多少钱
  • 明珠信息港网站建设专家电商培训机构
  • 手工网站大全做椅子套搜索引擎关键词怎么选
  • 做的响应式网站用什么测试免费seo在线工具
  • ps做网站首页规范尺寸腾讯广点通
  • 山东做网站的开鲁网站seo转接
  • 学院宣传网站制作如何弄一个自己的网站
  • wordpress添加微信扫码支付seo技巧分享
  • 网站制作教程设计院沈阳网站推广优化
  • 上海网站开发技术最好公司开鲁网站seo
  • 差异基因做聚类分析网站外贸网站有哪些平台
  • 去除wordpress.orgseo服务建议
  • 怎样创建网站image百度竞价系统
  • 网站访问量过大北京百度关键词优化