怎样实现网站的上传下载

ACDINO 2010-06-30 07:43:08
大家别见笑,我还是很菜的。
我想知道用Java开发的网站怎么实现上传下载的。不知道有没有人能帮忙解释一下,最好说的具体一点,把步骤说清楚。

我想,上传的话应该就是用户通过游览选择一个文件,然后我通过这个文件路径去读取它,然后将它写到我服务器的硬盘上(我想数据库里面应该顶多就存文件地址,不会把整个文件放进去吧)。
可是下载的话是怎么样的呢?点击一个链接就弹出一个迅雷下载对话框是怎么做的呢?什么电信下载、网通下载又怎么实现啊?还有就是上传下载除了用到对文件的读写操作之外还用到了哪些技术啊?
...全文
109 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Headsen 2010-06-30
  • 打赏
  • 举报
回复
<input type="file"> file类型会提示用户选择文件。
点击提交,浏览器会将文件以字节流的形式发送到服务器。

服务器解析这个流就OK了。例如使用request.getInputStream()

但是现在已经不自己解析了,网上很大第三方开源插件。如file-upload.jar,如commons-fileupload.
------------------------------
下载呢,正好相反,就是以流的形式发送到浏览器:
<a href="">可以直接绑定一下资源,比如jar类型 exe等,
<a href="www.xxx.xxx/xx/ss.zip">下载</a>
点击会提示下载
<a href="www.xxx.xxx/xx/ss.txt">下载</a>
点击会自动打开。另外才能下载

上面的做法会把资源路径暴露给客户端。而且一些特定后缀资源会默认打开。

另一种做法是,href绑定一个后台处理,比如Servlet,比如JSP等。由他们负责向浏览器发送数据。例如JSP:
response.setHeader("content-disposition","attachment; filename=text.txt");
然后以流的形式向页面写数据就OK了
deeplee_ 2010-06-30
  • 打赏
  • 举报
回复
我们公司当前的一个项目中正在进行该模块,我们使用的策略是:文件服务器
就是在服务器端专门放文件(包括PDF,WORD等文档),在数据库有张表,里面有索引的字段,这样话避免数据库的io流负荷,且,从目前来看,效率还不错
lqh3672 2010-06-30
  • 打赏
  • 举报
回复
也可通过数据库,然后I/O操作,常见的PDF,WORD等都可. 服务器硬盘不会放文件的.. 那样的话,文件多了怎么办..何况 服务器也不可能只发布一个程序
jar_java 2010-06-30
  • 打赏
  • 举报
回复
无非就I/O流的操作

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧