首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > CGI >

请问大文件上载

2012-12-22 
请教大文件下载客户端是纯HTML代码,点击链接后从服务器端下载文件。我现在服务器端是这么处理的:HTTP 1/1 2

请教大文件下载
客户端是纯HTML代码,点击链接后从服务器端下载文件。我现在服务器端是这么处理的:
HTTP 1/1 200 OK
Content-Length=500
Content-Type=application/octet-stream 
Content-disposition:attachment;filename="1.zip"
以上HTTP头之后接上我读出的文件流后客户端浏览器便能出现下载框了。

现在的问题是,上面的代码好像只能处理小文件,当有大文件下载时必须要分多次断点下载。此时服务器端应该要返回怎样的信息给客户端浏览器呢?客户端只有纯HTML页面,头痛死了。。
[最优解释]
要实现断点续传, 向服务器发出的 http 请求需要包含 range 头, 指定要下载的片断的起始和终止位置. 如:
Range:bytes=1000-2000

服务器根据 range 指示返回指定部分的片断.
[其他解释]
该回复于2010-04-29 12:29:23被版主删除
[其他解释]
关注。。。
[其他解释]
分成几个小文件分开下载

[其他解释]
补充一个问题啊:
客户端浏览器下载框出现后选择取消的话,服务器端还是会继续传文件。。这个要怎么解决??
[其他解释]

引用:
补充一个问题啊:
客户端浏览器下载框出现后选择取消的话,服务器端还是会继续传文件。。这个要怎么解决??


你的下载方法不对吧,怎么会取消了还能下载呢?
[其他解释]
直接下载不行吗?
<script>location.href='1.zip';</script>
或者
<iframe src="1.zip" style="display:none"></iframe>
[其他解释]
断点续传就得找JavaScript做配合了,我想不到其它办法了。


[其他解释]
我最近在用boa给一个嵌入式产品编写控制台,也想问一下boa上下载文件的代码编写,
printf("Content-Disposition:attachment;filename="Sysbak.tgz" ");
printf("Content-Length:%d",1024);
printf("Content-Type:application/octet-stream %c %c\n\n",10,10);
现在问题是如果是几K的文件还可以完整下下来,但是我的Sysbak.tgz有100多K,点下载弹出的文件下载框
名称:sysbaktgz
类型:HTML Document,2字节
发送者:192.168.100.136
下下来只有2字节,请教高手这个文件下载的http头要如何写呢
[其他解释]
文件大小的关系应该不大,应该是文件格式的关系 如果是文本文件的话我试着下了一个txt,123k的可以下下来,但是.tgz格式的文件就不行,请问.tgz的文件要如何下载呢?二进制的文件要如何下载
[其他解释]
首先要支持.TGZ文件

热点排行