Java实现文件下载功能
来源:互联网 发布:sqlserver 编辑:程序博客网 时间:2024/06/10 12:02
/*
下载的主方法.
*/
public ActionForward fileDownLoad(ActionMapping mapping,
HttpServletRequest request, HttpServletResponse response)
throws ServletException {
String fileName = null;// 名称
String realpath = "D:/crmSite/cdoc/";
realpath = "D:/crmSite/cdoc/"
+ adform.getAdMat().substring(1);
realpath = StrUtils.replace(realpath, "//", "/");
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
OutputStream fos = null;
InputStream fis = null;
fileName = realpath.substring(realpath.lastIndexOf("/") + 1, realpath.length());
//System.out.println(realpath);
try {
response.setContentType(this.getContentType(fileName));
response.setHeader("Content-disposition", "attachment;filename="
+ fileName);
fis = new FileInputStream(realpath);
bis = new BufferedInputStream(fis);
fos = response.getOutputStream();
bos = new BufferedOutputStream(fos);
int bytesRead = 0;
byte[] buffer = new byte[5 * 1024];
while ((bytesRead = bis.read(buffer)) != -1) {
bos.write(buffer, 0, bytesRead);// 将文件发送到客户端
}
bos.close();
bis.close();
fos.close();
fis.close();
} catch (IOException e) {
response.reset();
e.printStackTrace();
} finally {
try {
if (fos != null) {
fos.close();
}
if (bos != null) {
bos.close();
}
if (fis != null) {
fis.close();
}
if (bis != null) {
bis.close();
}
} catch (IOException e) {
System.err.print(e);
}
}
return null;
}
/*
设置文件类型
*/
private String getContentType(String fileName) {
String fileNameTmp = fileName.toLowerCase();
String ret = "";
if (fileNameTmp.endsWith("txt")) {
ret = "text/plain";
}
if (fileNameTmp.endsWith("gif")) {
ret = "image/gif";
}
if (fileNameTmp.endsWith("jpg")) {
ret = "image/jpeg";
}
if (fileNameTmp.endsWith("jpeg")) {
ret = "image/jpeg";
}
if (fileNameTmp.endsWith("jpe")) {
ret = "image/jpeg";
}
if (fileNameTmp.endsWith("zip")) {
ret = "application/zip";
}
if (fileNameTmp.endsWith("rar")) {
ret = "application/rar";
}
if (fileNameTmp.endsWith("doc")) {
ret = "application/msword";
}
if (fileNameTmp.endsWith("ppt")) {
ret = "application/vnd.ms-powerpoint";
}
if (fileNameTmp.endsWith("xls")) {
ret = "application/vnd.ms-excel";
}
if (fileNameTmp.endsWith("html")) {
ret = "text/html";
}
if (fileNameTmp.endsWith("htm")) {
ret = "text/html";
}
if (fileNameTmp.endsWith("tif")) {
ret = "image/tiff";
}
if (fileNameTmp.endsWith("tiff")) {
ret = "image/tiff";
}
if (fileNameTmp.endsWith("pdf")) {
ret = "application/pdf";
}
return ret;
}
调用时只需要用URL或提交的方式提交到action即可
- Java实现文件下载功能
- Java实现文件下载功能
- Java文件下载功能实现
- java实现文件下载功能
- java 下载文件功能实现
- java—servlet实现文件下载功能
- Java如何实现文件打包下载功能
- java web文件下载功能实现
- java web文件下载功能实现
- java web文件下载功能实现
- java——实现文件下载功能
- java 实现文件的下载功能
- java web文件下载功能实现
- java web Servlet--实现文件下载功能
- java web Servlet--实现文件下载功能
- Java后台实现文件下载功能
- java web文件下载功能实现
- Java web实现文件打包下载功能
- JNDI的使用
- 如何建立Linux下的ARM交叉编译环境
- abap编程思想
- 用DEF文件从DLL中导出C++类
- 抽象工厂模式(Abstract Factory)
- Java实现文件下载功能
- 月光 ---很好听的歌
- WF通信
- Oracle 函数大全
- PL/SQL编程基础
- .Net 应用程序突破2G的内存访问限制
- 'netstat' 不是内部或外部命令,也不是可运行的程序或批处理文件-解决方案
- linux内核调试指南
- 纳什博弈论的原理与应用