d**k 发帖数: 1223 | 1 俺做的一个web application, 用的好好的,一个用户跑过来说想在web 中加一个下载
链接。看了看要下载文件,是个单个文件居然有300M出头。这个调调可是有点意外。以
前很少有用到下载文件的情况,偶尔也是个文本文件,那会儿我好像直接放在page里了
(好像用了个jsp, 记不太清楚了),但是这个似乎太大了, 请问大牛们,这种情况
应该怎么处理?一定要开个ftp吗?还是文件直接扔在application server 里就用http
? 谢谢啦! |
g*****g 发帖数: 34805 | 2 放http没有问题。
http
【在 d**k 的大作中提到】 : 俺做的一个web application, 用的好好的,一个用户跑过来说想在web 中加一个下载 : 链接。看了看要下载文件,是个单个文件居然有300M出头。这个调调可是有点意外。以 : 前很少有用到下载文件的情况,偶尔也是个文本文件,那会儿我好像直接放在page里了 : (好像用了个jsp, 记不太清楚了),但是这个似乎太大了, 请问大牛们,这种情况 : 应该怎么处理?一定要开个ftp吗?还是文件直接扔在application server 里就用http : ? 谢谢啦!
|
d**k 发帖数: 1223 | 3 谢了, 好虫子!问题是,我不想把它弄成那种固定的url, 比如,http://www.hostname.com/amaoagou/xx.zip 一类的,这样的话,应该怎么弄呢? |
l********0 发帖数: 283 | 4 有这种上传/下载组件
比如apache的http://commons.apache.org/fileupload/
当然也可以自己写,并不复杂
【在 d**k 的大作中提到】 : 谢了, 好虫子!问题是,我不想把它弄成那种固定的url, 比如,http://www.hostname.com/amaoagou/xx.zip 一类的,这样的话,应该怎么弄呢?
|
g*****g 发帖数: 34805 | 5 你要做成什么样的url? 最简单的就是在servlet写byte array就可以了。
【在 d**k 的大作中提到】 : 谢了, 好虫子!问题是,我不想把它弄成那种固定的url, 比如,http://www.hostname.com/amaoagou/xx.zip 一类的,这样的话,应该怎么弄呢?
|
d**k 发帖数: 1223 | 6 现在来看,url 倒不是最大的问题,我最担心的是用servlet写成byte array的话, 会
不会一下子把内存都用光了?我不太了解这个过程是那种“streaming” 的形式还是直
接就先放在一个大缓存里,要是这样的话,300M的文件如果有几个人一起下载,那俺的
小server岂不是立刻就歇菜了?
【在 g*****g 的大作中提到】 : 你要做成什么样的url? 最简单的就是在servlet写byte array就可以了。
|
d**k 发帖数: 1223 | 7 谢谢啦!让俺看看这是个虾米东西。好像还没有用过。
【在 l********0 的大作中提到】 : 有这种上传/下载组件 : 比如apache的http://commons.apache.org/fileupload/ : 当然也可以自己写,并不复杂
|
b******y 发帖数: 9224 | 8
java的下载,我感觉还是不如Apache的efficient. 不过,你可以写个spooler。比如说
,每个下载就给个1024bytes的buffer, 用来spool.
spooler太大,也没有太多意义。因为operating system也有缓存的功能。
【在 d**k 的大作中提到】 : 现在来看,url 倒不是最大的问题,我最担心的是用servlet写成byte array的话, 会 : 不会一下子把内存都用光了?我不太了解这个过程是那种“streaming” 的形式还是直 : 接就先放在一个大缓存里,要是这样的话,300M的文件如果有几个人一起下载,那俺的 : 小server岂不是立刻就歇菜了?
|
c*m 发帖数: 836 | 9 最简单的是放在apache server上,直接给个link让它下吧,用appserver干这种事虽然
技术上很简单,但是太浪费资源了
【在 d**k 的大作中提到】 : 现在来看,url 倒不是最大的问题,我最担心的是用servlet写成byte array的话, 会 : 不会一下子把内存都用光了?我不太了解这个过程是那种“streaming” 的形式还是直 : 接就先放在一个大缓存里,要是这样的话,300M的文件如果有几个人一起下载,那俺的 : 小server岂不是立刻就歇菜了?
|
l********0 发帖数: 283 | 10 Yes.
但是楼主就是不想使用直接的url哦
【在 c*m 的大作中提到】 : 最简单的是放在apache server上,直接给个link让它下吧,用appserver干这种事虽然 : 技术上很简单,但是太浪费资源了
|
F****n 发帖数: 3271 | 11 用JAVA建立一个大文件的FILE并不会用光内存,内存使用取决于你的BYTEARRAY的大小
【在 d**k 的大作中提到】 : 现在来看,url 倒不是最大的问题,我最担心的是用servlet写成byte array的话, 会 : 不会一下子把内存都用光了?我不太了解这个过程是那种“streaming” 的形式还是直 : 接就先放在一个大缓存里,要是这样的话,300M的文件如果有几个人一起下载,那俺的 : 小server岂不是立刻就歇菜了?
|