java浏览器读取本地路径,怎么获取浏览器的文件下载路径

 2023-09-05 阅读 46 评论 0

摘要:> books = bookDao.exportExcel(new RBACModel(model.getParam(),rbacService.rbacSQLByTid()));// 自定义Excel生成工具类HSSFWorkbook workbook = ExcelUtils.createExcelWorkbook(books, "Book", model.getHeaders(), model.getTargets());// 创建文件名

> books = bookDao.exportExcel(

new RBACModel(

model.getParam(),

rbacService.rbacSQLByTid()));

// 自定义Excel生成工具类

HSSFWorkbook workbook = ExcelUtils.createExcelWorkbook(

books, "Book", model.getHeaders(), model.getTargets());

// 创建文件名和路径

String fileName = DateUtil.timeStamp() + ".xls";

// Constant.EXCEL_BUFFER_URL 文件名常量(/WEB-INF/buffer/excel/)

String path = Constant.EXCEL_BUFFER_URL + fileName;

// 生成临时文件request.getServletContext().getRealPath() 获取工程根目录

FileOutputStream fos = new FileOutputStream(

request.getServletContext().getRealPath(path));

// 将Excel文件写入

workbook.write(fos);

fos.flush();

fos.close();

// 自定义信息类

return new ResponseModel(0, fileName, null);

} catch (Exception e) {

e.printStackTrace();

return new ResponseModel(1, "文件生成失败");

}

}

//前台

success: function(data){

if (data.state == 0) {

alert("成功!");

window.location.href = "${ctx}/enclosure/download/bexcel/"+data.message;

}

},

```

二)超链接或者是表单

step1:生成excel文件

step2:放入Response返回流,

```

response.setContentType("application/x-msdownload");

response.setHeader("Content-Disposition", "attachment;filename=" + 文件名+ ".xls");

response.setContentLength(bytes.length);

response.getOutputStream().write(bytes);

response.getOutputStream().flush();

response.getOutputStream().close();

```

step3 前台直接会有下载,而且控制器不用做特别处理。缺点是数据没有ajax传输方便

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/6.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息