gpt4 book ai didi

c# - 使用 Asp.Net IHttpHandler 下载文件会给出不同的文件属性结果

转载 作者:太空宇宙 更新时间:2023-11-03 13:12:31 25 4
gpt4 key购买 nike

我编写了一个 IHttpHandler 来提取查询字符串参数,并使用它们来确定要发回的文件类型。在我调用的处理程序中:

private static void GetSegmentFile(HttpContext context)
{
byte[] file = GetFile();
context.Response.ContentyType = "application/octet-stream";
context.Response.BinaryWrite(file);
}

在浏览器端,我在尝试下载文件时得到不同的结果(使用右键单击 > 另存为网页中的链接,并将其 href 设置为文件的 URL)。使用 test.docx 这些是我的结果:

Chrome: 文件有原始文件名和文件扩展名IE 11:文件重命名为 media,文件扩展名为 .zip

我附上了一张图片来说明我的意思。 enter image description here

最佳答案

您需要发送一个 Content-Disposition HTTP header 。您可以通过这种方式发送文件名。 IE 试图解释您发送的字节,发现它是一个 zip 文件。 Office 文档是具有不同扩展名的 zip 文件。

Chrome 显然使用 URL 来启发式地构造名称。

如果没有明确的名称,浏览器应该做什么?它只能猜测。

研究使用该 HTTP header 发送文件名并指定名称的正确方法。

关于c# - 使用 Asp.Net IHttpHandler 下载文件会给出不同的文件属性结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27867902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com