none
win2012,iis8.5 MIME设置问题 RRS feed

  • 问题

  • 一个vs2015开发的web,希望是站内所有。txt文件资源都是提示用户端下载而不是直接打开,

    在iis中 选择站点,打开MIME 找到.txt 原来类型为text/plain 条目类型显示继承  改为application/octet-stream 条目类型变为本地 然后各种重启iis 重启服务器 刷新客户端 清空缓存 就是不生效。客户端点解txt链接还是直接打开而不是提示下载

    然后在iis中选择服务器 MIME 进行全局的设置 也是各种重启后。扔无效。

    请教如何解决


    nn

    2020年11月3日 3:40

答案

  • Hi nyyswdxdcmis,

     

    如果你想让文件被用户下载而不是打开的话,关键点不在于设置MIME Type,而是在Response中添加header:

    Content-Disposition:attachment; filename="filename.txt"

     

    能告诉我,你在网站中是怎么返回txt文件给用户端的吗?

    如果是ASP.NET的项目你可以参考以下代码:

    string filePath = "/path/to/file.txt";

    StreamReader streamReader = new StreamReader(filePath);

    Stream stream = streamReader.BaseStream;

    BinaryReader binaryReader = new BinaryReader(stream);

    byte[] sendbyteArray = binaryReader.ReadBytes(Convert.ToInt32(binaryReader.BaseStream.Length));

    Response.ContentType = "application/octet-stream";
    Response.AppendHeader("Content-Disposition", "attachment; filename=MyFile.txt");
    Response.BinaryWrite(sendbyteArray);
    Response.End();
             

    希望回答能够帮助到你。

    Best regards,

    Sean




    • 已编辑 SeanFang 2020年11月10日 9:05 漏内容
    • 已标记为答案 nyyswdxdcmis 2020年11月25日 5:00
    2020年11月10日 8:53

全部回复

  • Hi nyyswdxdcmis,

     

    如果你想让文件被用户下载而不是打开的话,关键点不在于设置MIME Type,而是在Response中添加header:

    Content-Disposition:attachment; filename="filename.txt"

     

    能告诉我,你在网站中是怎么返回txt文件给用户端的吗?

    如果是ASP.NET的项目你可以参考以下代码:

    string filePath = "/path/to/file.txt";

    StreamReader streamReader = new StreamReader(filePath);

    Stream stream = streamReader.BaseStream;

    BinaryReader binaryReader = new BinaryReader(stream);

    byte[] sendbyteArray = binaryReader.ReadBytes(Convert.ToInt32(binaryReader.BaseStream.Length));

    Response.ContentType = "application/octet-stream";
    Response.AppendHeader("Content-Disposition", "attachment; filename=MyFile.txt");
    Response.BinaryWrite(sendbyteArray);
    Response.End();
             

    希望回答能够帮助到你。

    Best regards,

    Sean




    • 已编辑 SeanFang 2020年11月10日 9:05 漏内容
    • 已标记为答案 nyyswdxdcmis 2020年11月25日 5:00
    2020年11月10日 8:53
  • 谢谢

    那么设置MIME Type 是用在什么情况下 或者说 是什么意义


    nn

    2020年11月25日 5:01