下载(导出)文件,如视频、Excel、word文件等
来源:互联网 发布:阿里导出淘宝数据包 编辑:程序博客网 时间:2024/05/26 17:48
1.前台发送请求
//下载模版 jQuery 中的方法
function _uploadModel(){
window.location = "${basePath}docAndInfra/uploadModel.do";
}
2.后台接收请求
/**
* 下载excel表格的模版
* @param request
* @param response
@Constants.DOCANDINFRA_EXPORTEXCEL 是Excel表格模版在FTP上 的下载地址
* @throws Exception
*/
@RequestMapping("uploadModel.do")
public void uploadModel(HttpServletRequest request, HttpServletResponse response) throws Exception {
String fileName=new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())+"Excel模版"+".zip";
queryAndUseService.upLoadInfo(Constants.DOCANDINFRA_EXPORTEXCEL,fileName,request,response);
}
3、server 成处理请求
/**
* 下载附件
* @param accessoryInfo
* @param fileName
* @param request
* @param response
* @throws Exception
*/
@Transactional
public void upLoadInfo(String accessoryInfo,String fileName,HttpServletRequest request,HttpServletResponse response)throws Exception{
Path ftpPath = null;
FTPClient ftp = null;
// 设置消息头
String contentType = "application/octet-stream";
response.setContentType("text/html;charset=UTF-8");
response.setContentType(contentType);
request.setCharacterEncoding("UTF-8");
response.setHeader("Content-disposition", "attachment; filename="
+ new String(fileName.getBytes("utf-8"), "ISO8859-1"));
BufferedOutputStream bos = new BufferedOutputStream(response.getOutputStream());
ZipOutputStream zos = new ZipOutputStream(bos);
// 设置流编码方式
zos.setEncoding("utf-8");
String filePath =accessoryInfo.replace("\\", "/");
String ftpPathCode = filePath.substring(0, filePath.indexOf("/"));
ftpPath = Constants.initPathMap.get(ftpPathCode);
StringBuffer fileNames=new StringBuffer();
fileNames.append("下载文件").append("\\");
if(ftpPath!=null){
ftp= FTPUtils.getFtpClient(ftpPath.getServerPath(), ftpPath.getPort(), ftpPath.getUsername(), ftpPath.getPassword());
ftp.enterLocalPassiveMode();
String rootPath=accessoryInfo.substring(filePath.indexOf("/")+1);
Boolean flag=ftp.changeWorkingDirectory(rootPath);
if(flag){
FTPFile[] list = ftp.listFiles();
Integer listCount=list.length;
for(int i=0;i<listCount;i++){
FTPFile f=list[i];
//在火狐浏览器上处理文件名乱码的问题
zos.putNextEntry(new ZipEntry(fileNames.toString() + new String(f.getName().getBytes("iso8859-1"), "GBK")));
ftp.retrieveFile(f.getName(), zos);
zos.closeEntry();
}
}else{
zos.putNextEntry(new ZipEntry(fileNames.toString() + "文件不存在"));
ftp.retrieveFile("文件不存在", zos);
zos.closeEntry();
}
}
zos.close();
}
0 0
- 下载(导出)文件,如视频、Excel、word文件等
- 下载文件如word,pdf文件等
- showModalDialog 下载文件问题 (如导出excel)
- 导出数据表到文件(excel、word等)
- .net导出word、excel等文件操作类
- net导出word、excel等文件操作类
- poi用于写入,导出excel,word等文件
- 将Office(如:Word、Excel、PPT 等)文件转PDF(通过OpenOffice实现)
- 将Office(如:Word、Excel、PPT 等)文件转html(通过OpenOffice实现)
- office(如:Word、Excel、PPT 等)文件轻松实现在线预览
- asp.net中数据导出(Word,Excel)以及文件下载
- JavaScript导出word excel文件
- java导出excel 下载文件
- 文件操作(文件过滤,压缩,导出到excel等)
- 如何用java导出Excel文件
- ASP.NET 2.0,C#----利用GridView控件导出其他文件(导出Excel,导出Word文件)
- 在jsp下载文件如jpeg、word等使用getOutputStream()时出现异常
- GridView导出到Excel或Word文件
- PAT(Basic Level) 1002.写出这个数 (20)
- atom音乐火花效果
- 本科教育忽略的黄金C++<5> 泛型算法-特定容器算法
- 在C#中使用FireBird嵌入式数据库
- javascript动态加载js文件
- 下载(导出)文件,如视频、Excel、word文件等
- quartz任务串行并行
- 使用Xcode7运行代码页面缩小问题解决
- 如何高效地判断数组中是否包含某特定值
- Cocos2d-x 3.x序列帧动画
- Linux内核中的jiffies及其作用介绍及jiffies等相关函数详解
- jsp+ajax局部刷新校验验证码,onblur触发校验
- JavaEE之--------SpringMVC框架的搭建(注解实现)
- Android的listview保存checkbox的勾选信息