当前位置:七道奇文章资讯网站建设网站编程
日期:2009-12-12 10:29:00  来源:本站整理

用Jsp来实现文件下载功效的几种方法[网站编程]

赞助商链接



  本文“用Jsp来实现文件下载功效的几种方法[网站编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

1.最直接最简单的,方法是把文件地址直接放到html页面的一个链接中.这样做的缺陷是把文件在服务器上的途径表露了,并且还无法对文件下载举行别的的掌握(如权限).这个就不写示例了.
 

2.在服务器端把文件转换成输出流,写入到response,以response把文件带到浏览器,由浏览器来提醒用户能否乐意保存文件到本地.(示比方下)


<%
response.setContentType(fileminitype);
response.setHeader("Location",filename);
response.setHeader("Cache-Control", "max-age=" + cacheTime);
//filename应当是编码后的(utf-8)
response.setHeader("Content-Disposition", "attachment; filename=" + filename);
response.setContentLength(filelength);
OutputStream outputStream = response.getOutputStream();
InputStream inputStream = new FileInputStream(filepath);
byte[] buffer = new byte[1024];
int i = -1;
while ((i = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, i);
}
outputStream.flush();
outputStream.close();
inputStream.close();
outputStream = null;
%>

3.既然是JSP的话,还有一种方法就是用Applet来实现文件的下载.不过客户首先得信任你的这个Applet小程序,由这个程序来承受由servlet发送来的数据流,并写入到本地.

servlet端示例

public void service(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType(" text/plain ");
OutputStream outputStream = null;
try {
outputStream = res.getOutputStream();
//把文件途径为srcFile的文件写入outputStream中
popFile(srcFile, outputStream)) ;
} catch (IOException e) {
e.printStackTrace();
}
}

JApplet端示例

URLConnection con;
try {
//url是被调用的SERVLET的网址 如 *.do
con = url.openConnection();
con.setUseCaches(false);
con.setDoInput(true);
con.setDoOutput(true);
con.setRequestProperty("Content-Type",
"application/octet-stream");
InputStream in = con.getInputStream();
ProgressMonitorInputStream pmInputStream = new ProgressMonitorInputStream
(pane, "正在从服务器下载文件内容", in);
ProgressMonitor pMonitor = pmInputStream.getProgressMonitor();
pMonitor.setMillisToDecideToPopup(3);
pMonitor.setMillisToPopup(3);
//localfilepath本地途径,localstr文件文件夹,filename本地文件名
String localfilepath = localstr + filename ;
//办法saveFilsaveFilee是把输入流pmInputStream写到文件localfilepath中
if(saveFilsaveFilee(localfilepath,pmInputStream)){
openLocalFile(localfilepath);
}


  以上是“用Jsp来实现文件下载功效的几种方法[网站编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 用Jsp来实现文件下载功效的几种方法
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .