Page.Response.Clear();        Response.ContentType = "application/octet-stream";
        Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8));        Response.Flush();
        Response.WriteFile(filepath);        Page.Response.End();代码如上. 能弹出IE的下载框,但是直接点击打开的话会提示找不到文件. 点击保存则功能正常.

解决方案 »

  1.   

    不管是WORD/excle还是txt保存都没问题
      

  2.   

    application/octet-stream会不会是这种文件类型所关联的应用程序无法识别ie临时文件夹里的文件啊
      

  3.   

    你先把 Response.Flush(); 去掉看看保存还正不正常?因为有了这句,就算后面filepath找不到,再报错,前面的一部分已经发送到浏览器了,就会提示
    下载,保存选项,即使后面发生错误.
      

  4.   

    我遇到过,有时rar文件下载保存可以,但是在ie保存对话框中选打开会报错
      

  5.   

    to cpp2017(慕白兄)
    我按你的方法试了 还是一样的结果
      

  6.   

    文件名我用GUID保存在相应文件夹里. 取出来的时候在转成原文件名.
    这里不存在解码的问题
      

  7.   

    to uno(钢盅郭子)
    ie临时文件夹里没有该文件
    默认是会在后面加一个[1]之类的避免重复.但是就是找不到
      

  8.   

    要不用Process Explorer查看一下文件下载对话框最后保存的文件名和文件全路径是啥
      

  9.   

    Process Explorer  怎么看呢?
      

  10.   

    客户机一样的问题 我身边就一个笔记本一个台式 
    TXT也打不开
    大哥们要有空可以远程让你们诊断一下问题
    谢了
    Q:54967431
      

  11.   

    现在手头不太方便啊,建议还是搜搜Google,也许有现成答案呢
      

  12.   

    试试:1.在别的网站上下个word或excel文件,直接打开试试
    2.在自己网站上直接链接到一个文件下载,直接打开.
      

  13.   

    Google不到才郁闷 好几天了
    杀毒有 关了也一样
      

  14.   

    试试:1.在别的网站上下个word或excel文件,直接打开试试
    2.在自己网站上直接链接到一个文件下载,直接打开.1.保存和打开别的网站的都没问题
    2.自己的还是老问题
      

  15.   

    那样用链接打开的word会直接在IE内打开
    我不想要那种方式所以才改成现在这样
    问题才出现的
      

  16.   

    Response.WriteFile()
    Response.BinaryWrite()
    Response.OutputStream.Write()
    用这三种都试了 就是不行到底是什么问题
    自己顶
      

  17.   

    Response.Clear();
        Response.ClearHeaders();
        Response.Buffer = false;
        Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName);
        Response.AppendHeader("Content-Length", fileLength.ToString());
        Response.ContentType = "application/octet-stream";
        Response.BinaryWrite(fileBytes);
        Response.Flush();
        Response.End();
      

  18.   

    感谢各位
    问题已解决
    上传下载功能我封装成一个自定义组件,放在一个页面上,页面文件继承了别的基类
    里面有一句  Response.CacheControl = <"no-catch">  没发现这个
    怪自己糊涂了