问题描述
源码如下:TempPath是文件的路径FileInfoDownloadFile=newFileInfo(TempPath);TempPath=TempPath.Substring(TempPath.LastIndexOf("\")+1);Response.Clear();Response.ClearHeaders();Response.ClearContent();Response.Buffer=true;Response.ContentType="application/octet-stream";Response.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(TempPath,System.Text.Encoding.UTF8));Response.AppendHeader("Content-Length",DownloadFile.Length.ToString());Response.WriteFile(DownloadFile.FullName);Response.Flush();Response.Clear();Response.Close();现在一些主流的浏览器像360,搜狗等都自己带有多线程下载,这就造成每次执行我的下载业务逻辑时浏览器总是同时发出很多个线程,造成程序重复访问页面,这个问题怎么解决?
解决方案
解决方案二:
http多线程下载是依靠httphead中的Range:bytes=1024-这种断点续传标识来实现的。你如果不想让用户断点续传,你就判断一下这个头就好了,有这个头的就不执行就好了。另外也可以根据这个值,改一下程序让程序支持多线程下载,随你自己意好了。
解决方案三:
这个说的很明白,你看下吧。
解决方案四:
这个网址上的东西,我看过了并不适合我的问题。本人比较愚钝,能不能说的再清楚些?
解决方案五:
http多线程下载是依靠httphead中的Range:bytes=1024-这种断点续传标识来实现的。你如果不想让用户断点续传,你就判断一下这个头就好了,有这个头的就不执行就好了。这个说的还不明白么,判断Range有值就return。