将带有MIME标头的文件保存到文件

时间:2018-10-16 00:23:17

标签: c# mime-types mime

我一定很想念东西。我正在下载文件,并希望将其保存为文件类型。我知道在这种情况下应该以jpg结尾。

将字节数组保存到文件时,我得到以下信息:

--145ae7dc-e075-478c-8063-eeb765e0e15a
Content-Type: image/jpeg;
Content-Length: 41946
MIME-Version: 1.0

ÿØÿî Adobe d     ÿÃ   R G B ÿÄ             ÿÚ R G B   úÿ ×þ¿Úív¡

代码:

WebClient webClient = new WebClient();
webClient.Headers["Accept"] = textBoxMimeType.Text;

var uri = new Uri(url);
using (Stream webStream = webClient.OpenRead(uri))
{
    using (FileStream fileStream = new FileStream(outputFile, FileMode.Create))
    {
        var buffer = new byte[32768];
        int bytesRead;
        Int64 bytesReadComplete = 0;
        Int64 bytesTotal = Convert.ToInt64(webClient.ResponseHeaders["Content-Length"]);

        while ((bytesRead = webStream.Read(buffer, 0, buffer.Length)) > 0)
        {
             bytesReadComplete += bytesRead;
             fileStream.Write(buffer, 0, bytesRead);
        }
     }
}

我使用上面的是因为我的文件可能很大。

另一个文件是“应用程序/八位字节流” ...

我也希望能够下载其他哑剧类型。

如何摆脱MIME标头并保存二进制数据?

我尝试了MimeKit,但它无法解析主体。

Thx

2 个答案:

答案 0 :(得分:0)

您可以使用一种方法替换这些行:

  

webClient.DownloadFile(url,outputFile);

答案 1 :(得分:0)

好吧,我希望有一个实用程序(我认为chilkat实际上是针对jpg等常见文件使用的,但我不会花钱购买工具)。

它归结为“魔术数字”。加载缓冲区,然后在开头和结尾处搜索“魔术数字”(小心,我相信jpg可以有不同的起始数字)。

<a <span="" class="thin">href="http://www.omni-techinfo.com/index.php/product/plaxton-dash-panel-primo/"</a>

这仅仅是开始。可能有很多问题。无法处理...内的多个文件

吉娜