日期:2014-05-17  浏览次数:20497 次

在线等,请教各位高手关于HttpResponse的问题
我实现下载文件的功能,就是弹出 “打开”或“保存”的提示框,代码如下:
  HttpResponse response = HttpContext.Current.Response;
  response.Clear();
  response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName);
  response.WriteFile(path);
  response.Flush();
  response.End();

可是执行时报错说:Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.

请教各位高手是怎么回事?

------解决方案--------------------
ASP.NET 2.0文件下载(1)

ASP.NET 2.0文件下载(2)

ASP.NET 2.0文件下载(3)

------解决方案--------------------
sorry,没看清题,上面的收回
直接Response.Redirect就可以了吧
------解决方案--------------------

C# code

    HttpResponse response = HttpContext.Current.Response; 
    response.Clear(); 
    response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName); 
    response.AppendHeader("Content-Type","application/unknown");//application/unknown 具体请看你的文件类型!
    response.WriteFile(path); 
    response.Flush(); 
    response.End();

------解决方案--------------------
直接写在JS里一般
------解决方案--------------------

response.TransmitFile(path);
试试
------解决方案--------------------
response.AppendHeader("Content-Type","application/unknown");
可以下载任何类型的文件,只是在下载的时候,会显示未知文件类型。但是这个不影响你下载
如果你需要知道文件类型,你需要根据文件的类型来判断这个文件的Content-Type.
具体那个文件类型对应那个Content-type,请问Baidu.