【问题标题】:创建一个 MIME 类型为 application/octet-stream 的文本文件
【发布时间】:2012-07-28 03:09:10
【问题描述】:

我需要创建一个 mime 类型为 application/octet-stream 的文本文件。

使用以下c#代码:

string[] text = P_Data.M_Content.Split(',');
System.IO.File.WriteAllLines(@"c:\temp.txt", text);

此代码在服务器上生成一个物理文件。但是,mime 类型是 text/plain。

我需要修改此代码以创建 mime 类型为 application/octet-stream 的文件

有什么想法可以实现吗?

编辑 这是来自 GUI (ExtJS) 的请求

success: function(P_Response){
    var res = Ext.util.JSON.decode(P_Response.responseText);
    if(res == 'SUCCESS') window.location.href = 'myfile.txt';
    else alert('the error message');                                                                                                                                                                                                                            
},

通过使用此代码,如果我创建 .doc 而不是 .txt,则会打开一个弹出窗口来下载文件

【问题讨论】:

  • 你是如何通过网络发送的?嗯 mime 类型仅对通过网络传输内容才真正有效。本地文件没有 mime 类型。
  • 如何检查 c:\temp.txt 的 mime 类型?
  • 基本上,我在服务器上生成文本文件,并将其保存在同一台服务器上。然后从客户端,我正在创建一个指向该文件的链接,但由于它是 text/plain 类型,因此文件在浏览器中打开。我需要打开一个下载窗口,这就是为什么我不能使用 text/plain。如果我使用 .doc 而不是 .txt 它可以工作,但我想使用 .txt 因为 .doc 不整洁。
  • 你如何提供文件?
  • 显示该链接的示例。它是 URL 还是只是一个直接的文件路径?

标签: c# .net text-files mime


【解决方案1】:

如果这是针对 Web 应用程序,您需要将文件保存为二进制文件,然后当客户端请求它时,您将发送 application/octet-stream 作为 HTTP 标头的一部分。

http://msdn.microsoft.com/en-us/library/system.io.binarywriter.aspx

【讨论】:

    【解决方案2】:

    只有 HTTP 有内容类型。您使用此属性设置它。

    HttpResponse.ContentType Property

    【讨论】:

      猜你喜欢
      • 2018-09-11
      • 1970-01-01
      • 2021-11-15
      • 2017-11-01
      • 1970-01-01
      • 2017-05-21
      • 2011-09-19
      相关资源
      最近更新 更多