java文件下载
来源:互联网 发布:linux宝塔拉黑ip 编辑:程序博客网 时间:2024/06/02 04:44
/** * Program : DownServlet.java * Author : lihuan * Create : 2010-10-19 下午02:26:12 * * Copyright 2010 by Embedded Internet Solutions Inc., * All rights reserved. * * This software is the confidential and proprietary information * of Embedded Internet Solutions Inc.("Confidential Information"). * You shall not disclose such Confidential Information and shall * use it only in accordance with the terms of the license agreement * you entered into with Embedded Internet Solutions Inc. * */package cn.ipanel.app.newspapers.web.servlet;import java.io.ByteArrayInputStream;import java.io.File;import java.io.IOException;import java.io.InputStream;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import cn.ipanel.app.newspapers.define.NewspaperException;import cn.ipanel.app.newspapers.define.Defines;import cn.ipanel.app.newspapers.util.FileUtil;import cn.ipanel.app.newspapers.util.ZipUtil;/** * * @author lihuan * @version 1.0.0 * @2010-10-19 下午02:26:12 */public class DownServlet extends HttpServlet {private static final long serialVersionUID = -8429092442180048726L;protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {downloadModule(request, response);}private void downloadModule(HttpServletRequest request, HttpServletResponse response) {String downType = request.getParameter("downType");if (downType.equals("template")) {long templateId = Long.parseLong(request.getParameter("id"));// 模板存放路径String templateFileFolder = Defines.ABS_PATH_OF_PROJECT + Defines.TEMPLATE_FOLDER_PATH + templateId;String zipFilePath = Defines.ABS_PATH_OF_PROJECT + Defines.DOWM_FILE_PATH;String zipFileName = "template_" + templateId;// 压缩文件文件名,例如:template_1.zipFile zipFile = ZipUtil.getCompressToZip(templateFileFolder, zipFilePath, zipFileName);// 下载压缩文件byte buf[] = FileUtil.readFileByte(zipFile);writeByteToFile(response, zipFileName + ".zip", buf);zipFile.delete();} else if (downType.equals("news")) {long columnId = Long.parseLong(request.getParameter("columnId"));long newsId = Long.parseLong(request.getParameter("newsId"));long pageClassifyId = Long.parseLong(request.getParameter("pageClassifyId"));long newspaperId = Long.parseLong(request.getParameter("newspaperId"));boolean isHdNews = Boolean.parseBoolean(request.getParameter("isHdNews"));// 找到应用文件所在的文件夹String newsFilesFolder = Defines.ABS_PATH_OF_PROJECT;if (isHdNews)newsFilesFolder = newsFilesFolder + Defines.NEWSPAPERS_FOLDER_HD;elsenewsFilesFolder = newsFilesFolder + Defines.NEWSPAPERS_FOLDER_BD;newsFilesFolder = newsFilesFolder + columnId + File.separator + newspaperId + File.separator + pageClassifyId + File.separator + newsId;String zipFilePath = Defines.ABS_PATH_OF_PROJECT + Defines.DOWM_FILE_PATH;String zipFileName = "news_" + newspaperId + "_" + newsId;// 压缩文件名"news_"+newspaperId + "_" + newsId + ".zip"如news_1_1.zipFile zipFile = ZipUtil.getCompressToZip(newsFilesFolder, zipFilePath, zipFileName);// 下载压缩文件byte buf[] = FileUtil.readFileByte(zipFile);writeByteToFile(response, zipFileName + ".zip", buf);zipFile.delete();}}private void writeByteToFile(HttpServletResponse resp, String fileName, byte[] blobs) {ServletOutputStream sos = null;try {resp.setContentType("application/octet-stream;charset=gbk");resp.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("GBK"), "ISO-8859-1"));sos = resp.getOutputStream();InputStream in = new ByteArrayInputStream(blobs);byte[] b = new byte[1024];int length = 0;while ((length = in.read(b)) != -1) {sos.write(b, 0, length);}} catch (Exception e) {throw new NewspaperException("下载新闻出错!");} finally {if (sos != null) {try {sos.flush();sos.close();} catch (IOException e) {e.printStackTrace();}}}}}
阅读全文
1 0
- java下载文件
- java 文件下载
- java 文件下载
- java下载文件
- java实现文件下载
- java 文件下载
- Java文件下载
- Java 网络文件下载
- java文件下载
- java 文件下载疑问
- java 文件下载 详解
- java文件下载
- Java 下载文件
- java 下载文件
- Java文件下载相关
- 文件下载(java) android
- java 文件下载
- java 文件下载
- 把库转换为一个jQuery插件
- 计算机修炼之路--------Tomcat的安装配置
- 单片机C简单定时计数组件
- windows下使用composer为YII框架安装redis扩展
- FreeRTOS_003_让系统在板子上跑起
- java文件下载
- Canvas时钟
- The content of element type "package" must match "(result-types?,interceptors?,default-interceptor-r
- NIO--01基本介绍
- 求知过程之语法基础阶段一
- 游戏物理数学之《Matrix矩阵》
- c# 修饰符
- 假设今天你开了一家经营生鲜品类的淘宝店,你怎么获取第一批用户, 并能够运营起来
- webStrom 格式化代码快捷键&替换代码快捷键