日期:2014-05-18  浏览次数:20422 次

急急急!SOS!文件下载只能下载一次的问题。
在画面上有一个download的link,用下面的方式已经实现下载了。

FileStream   objFileStream   =   null;
long   lfileSize;  
byte[]   arrBytFileBuff;  
objFileStream   =   new   FileStream(strFileName,   FileMode.Open);
lfileSize   =   objFileStream.Length;  
arrBytFileBuff=new   byte[lfileSize];  
objFileStream.Read(arrBytFileBuff,   0,   (int)lfileSize);  

Response.Buffer   =   true;
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType   =   "application/octet-stream ";
Response.AppendHeader( "Content-Disposition ",   "attachment;filename= "   +   strFileName);
Response.AppendHeader( "Content-Length ",lfileSize.ToString());  
Response.BinaryWrite(arrBytFileBuff);
Response.End();

问题是现在的功能是在已经使用的系统上新增的,即存的系统里面有一段下面的代码。
<script   language= 'javascript '>
history.go(1);
window.onbeforeunload   =   function   unload()
{
      document.onclick   =   dounclick;
      document.onkeypress   =   dounclick;
}
function   dounclick()   {window.event.returnValue   =   false;}
</script>


就是因为上面这段代码,把onclick   事件设置成false了,下载的link点了一次就不能再点了。上面那段代码又不能改,那个系统已经在使用了。跪求各位大虾有什么办法,能让画面再刷新一下,这样就可以再下载,或者能提供别的下载方法。

------解决方案--------------------
mark
------解决方案--------------------
帮顶……
------解决方案--------------------
http://mywork.javaeye.com/blog/65856
------解决方案--------------------
没有看出问题