繁体   English   中英

C#创建MIME标头信息? (内容类型等)

[英]C# Create MIME Header Information? (Content-Type etc.)

我正在阅读文件,并希望将MIME标头信息添加到文件顶部。

例如:我有一个名为test.txt的文本文件。 我将文件读入字节数组,然后将以下内容附加到开始:

Content-Type: text/plain;
     name="test.txt"
Content-Transfer-Encoding: binary
Content-Disposition: attachment;
     filename="test.txt"

我如何获得内容类型是什么? 您如何建议将其添加到文件的开头? 我打算创建一个包含该信息的字符串,然后将其转换为字节数组,并将其粘贴在文件缓冲区的前面,但是我担心会遇到编码问题。

您不能将标头信息添加到文件本身中。 当您使用某些协议(主要是SMTP和HTTP)时,它将与文件一起传输。

编辑:如果您希望从文件内容中计算出内容类型(也称为Internet媒体类型 ),则可能希望查看mime-utilApache Tika之类的东西

编辑2:此问题的答案将有助于.NET中的内容类型检测:

编辑3:如果您知道正在使用的文件格式,则可以向其中添加任何希望的信息。 但是,您将需要对每种文件格式进行特殊处理。 我无法想象为什么要在文件中包含协议信息,但这取决于您!

编辑4:要将文本添加到文本文件的开头,请执行以下操作:

static void WriteBeginning(string filename, string insertedtext)
{
    string tempfile = Path.GetTempFileName();
    StreamWriter writer = new StreamWriter(tempfile);
    StreamReader reader = new StreamReader(filename);
    writer.WriteLine(insertedtext);
    while (!reader.EndOfStream)
        writer.WriteLine(reader.ReadLine());
    writer.Close();
    reader.Close();
    File.Copy(tempfile, filename, true);
}

学分

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM