http下载文件(通用格式) .jsp j ava

package com.yqcf.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DownFile {
 /**
  *
  * 在jsp页面调用fileDown(request,response) url传参:dirPath(文件的全路径),fileName(文件名)
  *
  * @return boolean
  */
 public boolean fileDown(HttpServletRequest request,
   HttpServletResponse response) {
  // ************取得文件的路径和文件名***************//
  String dirPath = request.getParameter("dirPath");
  String fileName = request.getParameter("fileName");
  // ************判断文件是否存在********************//
  File file = new File(dirPath, fileName);
  if (!file.exists()) {
   System.out.println("文件下载失败:文件或路径错误");
   return false;
  }
  long fileLength = file.length();
  String length = String.valueOf(fileLength);
  // 设置返回文件的类型和头信息,application/octet-stream:文件类型的通用格式//
  response.setContentType("application/octet-stream");
  response.setHeader("Content-disposition", "attachment;filename="
    + fileName);
  response.setHeader("Content_Length", length);
  FileInputStream input = null;
  ServletOutputStream output = null;
  try {
   // **************产生输入流和输出流*************//
   input = new FileInputStream(file);
   output = response.getOutputStream();
   byte[] block = new byte[1024];
   int len = 0;
   // **************开始下载文件*****************//
   while ((len = input.read(block)) != -1) {
    output.write(block, 0, len);
   }
   output.flush();
   return true;
  } catch (IOException e) {
   System.out.println("文件下载失败:" + e.getMessage());
   return false;
  } finally {
   // *************关闭文件流****************//
   try {
    if (input != null) {
     input.close();
    }
    if (output != null) {
     output.close();
    }
   } catch (IOException ex) {
    System.out.println(ex.getMessage());
   }
  }
 }

}

时间: 2024-10-08 18:06:22

http下载文件(通用格式) .jsp j ava的相关文章

SFTP上传下载文件、文件夹常用操作

SFTP上传下载文件.文件夹常用操作 1.查看上传下载目录lpwd 2.改变上传和下载的目录(例如D盘):lcd  d:/ 3.查看当前路径pwd 4.下载文件(例如我要将服务器上tomcat的日志文件取出来)进入你要下的文件所在的文件夹:cd /usr/apache-tomcat-6.0.39/logs/下载:get catalina.out 5.上传文件(例如我要上传一个文件到usr目录下)进入你想要上传文件的目录cd /usr上传文件put do.sh 6.上传下载文件夹格式:下载文件夹g

jsp下载文件的实现方法及注意事项 (转)

jsp中实现文件下载,最简单的方式是在网页上做超级链接,如:<a href="music/abc.mp3">点击下载</a>. 但是,这样服务器上的目录资源会直接暴露给最终用户,会给网站带来一些不安全的因素. 因此,可以采用其它方式实现下载,常使用的有以下两种:       1.RequestDispatcher的方式进行:       2.采用文件流输出的方式下载(推荐). 1.采用RequestDispatcher的方式: 1 <% 2 respons

[转]JSP或servlet中(以及上传下载文件)中文乱码或不显示的解决方案

时间 2014-04-14 14:33:44  CSDN博客 原文  http://blog.csdn.net/xby1993/article/details/23677375 主题 ServletJSP JSP或servlet中中文乱码的解决方案: 1.以POST请求方式: 在获取请求参数之前设置: request.setCharacterEncoding("utf-8"); 设置输出编码: response.setContentType("text/html;charse

jsp下载文件的实现方法

(一) 最简单的方式是在网页上做超级链接,如:<a href="music/1.zip">点击下载</a>. 但是这样服务器上的目录资源会直接暴露给最终用户,会给网站带来一些不安全的因素. 因此可以采用其它方式实现下载,可以采用: 1.RequestDispatcher的方式进行: 2.采用文件流输出的方式下载. (推荐) 1.采用RequestDispatcher的方式进行  <% response.setContentType("applic

压缩文件zip格式,提供下载。

package com.bstd.sys.server; import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java

Unity3d C# Socket 下载文件 (同步到)

续篇 Unity3d C# HttpWebRequest 异步下载文件 ,由于project编译为IL2CPP的情况下仍然无效.提示HttpWebrequest 在当前版本号不支持.所以还是寻求其他的办法. 正好分公司的同事也碰到了下载文件的BUG,可是他们是仅仅可下面载一部分,好歹也比我的情况好,于是借同事的參考咯. 结构大致是用Socket 向server发送Http请求.再设置各种Http头,然后接收server发来的数据流. 先了解下Http头: 典型的请求消息: GET http://

使用一般处理程序HTTPHandler下载文件

一般来说我们可以用HTTPHandler来处理一些简单的逻辑,比如验证码.下载文件等. 以下载word文档为例讲解一下如何在HHTPHandler中下载文件,不限于word文档,如果下载其他文件,需要注意的是要将“ context.Response.ContentType = "application/msword"; ”设置为其他相应格式或通用格式“application/octet-stream”,来看代码 1 //文件名 2 const string fileName = &qu

Windows通过FTP上传、下载文件到Linux

FTP是通用协议,不区分系统.知道linux机器的IP.用户名和密码即可. 一.上传文件: 1.开始 -> 运行,输入cmd,回车 2.ftp  Linux机器的IP地址3.输入用户名.密码登陆ftp 4.binary 5.put  windows系统本地文件全路径  linux系统上的目标路径     (或:在cmd下进入到上传文件所在目录,进入Linux后进入目标目录,直接:put  目标文件) 6.Bye 注: (1)如果是文本文件,可以不用binary设置为二进制传输模式(默认文本模式,

Struts2 文件下载(中文处理方法以及控制下载文件名称和扩展名)

Struts2的框架提供了现成的文件下载方式,大大简化的问价下载的使用便利性.网上的列子有很多,我把一些大家普遍比较关注的点,集中一下,给出一个整体方案. 一般我们照着书本或者网上的列子写出了一个Demo,都会存在几个疑问: 1.下载文件的文件名怎么搞?不搞的话浏览器默认名字是提交的action的名字 2.文件名里面想搞中文,但是实际上下载文件名出现了乱码或不显示中文怎么搞? 3.文件的扩展名怎么搞?比如要下载的文件是word(doc,docx)或者excel(xls,xlsx)怎么办?难道让用