简单介绍用JSP来实现文件下载功能的几种方式

JSP文件上传与下载功能实现指南 本文还有配套的精品资源,点击获取 简介:本文详细介绍了如何利用JSP技术实现Web应用程序中的文件上传和下载功能。内容涵盖了从设计前端表单到处理后端逻辑,再到文件存储以及安全和性能优化的完整流程。文章重点包括表单设计、文件上传处理、文件存储、下载链接生成、下载处理、项目结构与配置,以及安全性和优化建议。通过本指南,开发者可以学习到JSP实现文件交互的关键技术和最佳实践。 ... 阅读详情

1.最直接最简单的,方式是把文件地址直接放到html页面的一个链接中。这样做的缺点是把文件在服务器上的路径暴露了,并且还无法对文件下载进行其它的控制(如权限)。这个就不写示例了。

2.在服务器端把文件转换成输出流,写入到response,以response把文件带到浏览器,由浏览器来提示用户是否愿意保存文件到本地。

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);
}

4.顺便把JApplet上传文件的代码也贴上来.

JApplet端示例

URLConnection con;
try {
con = url.openConnection();
//url是被调用的SERVLET的网址 如 *.do
   con.setUseCaches(false);
con.setDoInput(true);
con.setDoOutput(true);
con.setRequestProperty("Content-Type","application/octet-stream");
OutputStream out = con.getOutputStream();
//localfilepath本地路径,localstr文件文件夹,filename本地文件名
String localfilepath = localstr + filename;
//文件getOutputStream是把文件localfilepath写到输出流out中
getOutputStream(localfilepath,out);
InputStream in = con.getInputStream();
return true;
}catch (IOException e) {
System.out.println("文件上传出错!");
e.printStackTrace();
}
servlet端代码示例
public void service(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType(" text/plain ");
InputStream inputStream = null;
try {
inputStream = res.getInputStream();
//把输入流inputStream保存到文件路径为srcFile的文件中
writefile(srcFile, inputStream);
} catch (IOException e) {
e.printStackTrace();
}
} // end service

总结:在文件的传输中是流的形式存在的,在硬盘上是文件的形式存在的。我们要做的只是通过HttpServletRequest和HttpServletResponse,或者是response和request来发送流和读取流。以及把文件转换成流或把流转换成文件的操作。

jsp页面实现文件下载功能 实现jsp页面的下载功能,文档下载文件下载,软件下载,测试过好用。 立即下载

相关推荐

jsp页面文件下载功能实现

jsp页面文件下载功能实现,简单实用,快点下载吧!

ANI计算汇总

对现有的ANI(平均核苷酸相似度)的在线工具和软件进行汇总和总结

weixin_43799332的博客 7282

jsp文件下载

解决文件下载时,浏览器默认打开文件 解决文件下载时,浏览器默认打开文件

eclipse java jsp_Eclipse创建jsp web项目

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。本文为大家讲解的是Eclipse下创建jspweb项目及入门示例,感兴趣的同学参考下。Eclipse 是一个开放源代码的、基于Java的可...

weixin_33206646的博客 879

ISME:华中农大李霞组发现大豆根际微生物组变化与根瘤菌共生效率的关系

文章目录大豆根际微生物群落的变化及其与根瘤菌共生效率的关系写在前面摘要背景结果不同类型土壤中大豆根际区微生物组的组成和多样性图 1 三种类型土壤中大豆根际区微生物组的α和β多样性不同根际取样部位的微生物共现和相互作用网络图 2 不同隔间区域中的微生物相互作用网络大豆根瘤中根瘤菌的组成取决于土壤条件图 3 土壤处理与根际和根瘤中的根瘤菌组成的关系根际微生物组与根瘤菌的结瘤有关图 4 根际微生物群落结构与中华根瘤菌和慢生根瘤菌的结瘤有关在体外芽孢杆菌对根瘤菌生长的不同作用图 5 芽孢杆菌对根瘤菌生长和结瘤的影响

刘永鑫的博客——宏基因组公众号 7447

jsp实现文件上传下载的三种解决方案(推荐)

大致实现原理:当enctype的值是multipart/form-data时,浏览器会把每个表单项进行分割,分割成不同的部件,以boundary的值为分割标识,这个标识的字符串是随机生成的,最后一个表单项的分割标识字符串末尾会多两个”- -“,代表结束。支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,ie8,ie9,Chrome,Firefox,360安全浏览器,并且刷新浏览器后仍然能够续传,重启浏览器(关闭浏览器后再打开)仍然能够继续上传,重启电脑后仍然能够上传。

Mr_Zang666的博客 2257

jsp实现文件下载

jsp实现文件下载,Resource interpreted as Document but transferred with MIME type application/octet-stream: "http://localhost:8090/testcaseproduct/NewFile".这是由于chrome问题,不允许访问本地的文件,如果你复制里面的连接http://localhost:8090/testcaseproduct/NewFile,打开一个新的浏览器窗口,把链接粘进去,回车就会有文件下载

qq_33142257的博客 2230

Jsp实现文件下载功能几种方式

1.最直接最简单的,方式是把文件地址直接放到html页面的一个链接中。这样做的缺点是把文件服务器上的路径暴露了,并且还无法对文件下载进行其它的控制(如权限)。这个就不写示例了。 2.在服务器端把文件转换成输出流,写入到response,以response把文件带到浏览器,由浏览器来提示用户是否愿意保存文件到本地。(示例如下) response.setContentType(file

Jason 1016

jsp实现文件上传下载功能

文件上传首先得引入两个jar包,建议在mvn库中下载下载完粘贴到lib目录下 首先写上传文件jsp界面 <form action="UpLoadServet" method="post" enctype="multipart/form-data"> <font color="white" size="5px">文件上传功能(将你的照片,音乐

仲夏的博客 3万+

JSP文件下载几种方式

JSP文件下载几种方式 1。最直接最简单的,方式是把文件地址直接放到html页面的一个链接中。这样做的缺点是把文件服务器上的路径暴露了,并且还无法对文件下载进行其它的控制(如权限)。这个就不写示例了。2。在服务器端把文件转换成输出流,写入到response,以response把文件带到浏览器,由浏览器来提示用户是否愿意保存文件到本地。(示例如下) response.setContent

1052

JSP实现文件下载功能

JSP实现文件下载功能 package top.canghe.downloadDemo; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.net.URLEncoder; import javax.servlet.ServletException...

一个成长中的程序员,期待用技术的眼光生活 6886

JSP+servlet实现文件的上传与下载

现在看来使用JSP+Servlet实现文件的上传与下载已经是有些落后了,现在能很方便实现文件的上传与下载插件和工具有很多,常用的有SmartUpload插件、Struts2框架以及富文本编辑器等等。但是作为一个合格的程序员,我认为还是有必要了解一下使用JSP+Servlet最原始的读取文件流来实现文件的上传与下载。下面我简单讲下!

邓威的博客 2万+

JSP实现文件下载功能几种方式

 1.最直接最简单的,方式是把文件地址直接放到html页面的一个链接中。这样做的缺点是把文件服务器上的路径暴露了,并且还无法对文件下载进行其它的控制(如权限)。这个就不写示例了。2.在服务器端把文件转换成输出流,写入到response,以response把文件带到浏览器,由浏览器来提示用户是否愿意保存文件到本地。3.既然是JSP的话,还有一种方式就是用Applet实现文件下载。不

318

JAVA实现文件上传

需求:大文件上传,批量上传,断点续传,文件夹上传,大文件下载,批量下载,断点下载文件下载文件夹:上传下载需要支持层级结构,采用非压缩方式文件大小:100G前端:vue2,vue3,vue-cli,jquery,html,webuploader后端:JSP,springbootweb服务:tomcat数据库:mysql,oracle,达梦,国产化数据库服务器:linux,信创国产化浏览器:ie8+,firefox,chrome,360,2345,QQ,搜狗,猎豹。

weixin_52041354的博客 969

jsp Web实现文件上传下载功能实例解析

但是在很多情况下,平台运营方并没有大文件上传和断点续传的开发经验,往往在网上找一些简单的PHP或者Java程序来实现基本的上传功能,然而在实际使用中会发现,这些基于脚本语言实现的上传功能模块性能很弱,一是不支持2GB以上的内容上传;二是无法支持断点续传;它支持4GB以上超大文件上传和断点续传,支持Windows和Linux服务器平台,支持任意格式的文件上传,尤其适合大的视频网站应用。随着视频网站和大数据应用的普及,特别是高清视频和4K视频应用的到来,超大文件上传已经成为了日常的基础应用需求。

Mr_Zang666的博客 303
上一篇: Jsp页面实现文件上传下载(1)
下一篇: 用Jsp来实现文件下载功能的几种方式(2)
JavaPromise
博客等级 码龄15年 3粉丝 15原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值