javaweb使用smartupload下载文件,和在线打开文件
2014-11-14 10:06
447 查看
使用smartupload下载文件,必须使用 smartupload.jar包,参考博客:/article/9081607.html
jsp页面:
downloadServlet:
在线打开:downloadServlet:
jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>下载示例</title> </head> <body> <a href="${pageContext.request.contextPath }/servlet/downloadServlet?name=background.jpg">word文档下载</a> <a href="${pageContext.request.contextPath }/servlet/onlineOpenServlet?id=wen.txt">在线打开</a> </body> </html>
downloadServlet:
package com.ning.servlet; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.jsp.JspFactory; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.PageContext; import com.jspsmart.upload.SmartUpload; import com.jspsmart.upload.SmartUploadException; public class downloadServlet extends HttpServlet { //文件下载功能 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //获取下载文件名 String fileName = request.getParameter("name"); System.out.println(fileName); //新建一个smartUpload对象 SmartUpload smartUpload = new SmartUpload(); //初始化 smartUpload.initialize(this.getServletConfig(), request, response); //设定contentDisposition为null以禁止浏览器自动打开文件 //保证单击链接后是下载文件。 smartUpload.setContentDisposition(null); //下载文件 try { smartUpload.downloadFile("/download/"+fileName);//使用相对路径进行下载 } catch (SmartUploadException e) { e.printStackTrace(); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
在线打开:downloadServlet:
package com.ning.servlet; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; import java.io.PrintWriter; import java.net.URL; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class onlineOpenServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String filename = request.getParameter("id"); System.out.println(filename); // String filePath = "/download/"+filename; String filePath = "E:\\Workspaces\\MyEclipse 10\\.metadata\\.me_tcat\\webapps\\Ning\\download\\"+filename; File file = new File(filePath); if(!file.exists()){ response.sendError(404, "File not found!"); return; } BufferedInputStream br = new BufferedInputStream(new FileInputStream(file)); byte[] buf = new byte[1024]; int len = 0; response.reset(); // 非常重要 //在线打开 URL u = new URL("file:///" + filePath); response.setContentType(u.openConnection().getContentType()); response.setHeader("Content-Disposition", "inline; filename=" + file.getName()); //下载 /* response.setContentType("application/x-msdownload"); response.setHeader("Content-Disposition", "attachment; filename=" + file.getName());*/ OutputStream out = response.getOutputStream(); while ((len = br.read(buf)) > 0) out.write(buf, 0, len); br.close(); out.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
相关文章推荐
- JAVAWEB开发之文件的上传与下载(开源组件commons-fileupload的详细使用)
- java中使用输出流下载文件弹出打开保存框
- 在java的WEB项目如何防止浏览器直接打开下载的文件
- atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php
- java组件commons-fileupload实现文件上传、下载、在线打开
- java中使用输出流下载文件弹出打开保存框
- java中使用输出流下载文件弹出打开保存框
- atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php
- Web项目中使用java Struts2实现Zip、xml文件的动态创建和下载(Zip文件中动态存在多个xml文件)
- javaweb-使用servlet实现文件下载
- JAVA JXL -----excel文件生成、在线打开和下载
- JAVA应用XFire框架来实现WebServie的大文件传输功能之一(下载)
- java web应用文件下载(包括中文文件名乱码处理)
- 使用HttpWebRequest以及HttpWebResponse下载Http远程文件[转]
- Java防止浏览器直接打开下载的文件
- 使用asp下的adodb.stream 下载文件而不是打开
- 使用FtpWebRequest 类操作(上传、下载和删除)FTP上的XML文件
- 防浏览器直接打开文件的java下载
- Java Web 开发中文件的上传与下载(FTP/HTTP)
- jaVA使用FTP上传下载文件的问题