gpt4 book ai didi

C# ASP.NET 3.5 内容配置文件下载问题

转载 作者:太空狗 更新时间:2023-10-29 20:49:06 25 4
gpt4 key购买 nike

我有一个存储一些文档的 sql 数据库。

用户可以登录应用程序并查看其文档列表。

在他们的文档的 GridView 中单击链接按钮下载时,我从数据库中获取文件,将其写入文件系统,然后执行此代码。

    System.IO.FileInfo file = new System.IO.FileInfo(System.Configuration.ConfigurationManager.AppSettings["UploadPath"] + DocumentName);

Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Cookies.Clear();
Response.Cache.SetCacheability(HttpCacheability.Private);
Response.CacheControl = "private";
Response.Charset = System.Text.UTF8Encoding.UTF8.WebName;
Response.ContentEncoding = System.Text.UTF8Encoding.UTF8;
Response.AppendHeader("Content-Length", file.Length.ToString());
Response.AppendHeader("Pragma","cache");
Response.AppendHeader("Expires", "60");
Response.ContentType = GetContentType(file.Extension);
Response.AppendHeader("Content-Disposition",
"inline; " +
"filename=\"" + file.Name + "\"; " +
"size=" + file.Length.ToString() + "; " +
"creation-date=" + DateTime.Now.ToString("R") + "; " +
"modification-date=" + DateTime.Now.ToString("R") + "; " +
"read-date=" + DateTime.Now.ToString("R"));

我的 GetContentType() 方法只为我允许的文件“application/pdf、application/msw0rd 等”返回适当的文件类型。

我的问题是,当文件被保存时,保存的是网页本身,而不是文件系统中的文件。在 google chrome 中,它在文件名末尾添加了一个 .htm 扩展名,我猜是因为它知道这是一个网页?

无论如何,重要的第一步是获取实际文件,而不是他们所在的 HTML 网页副本!

谢谢。

最佳答案

您如何发送文件的实际内容?

我通常使用Response.TransmitFile方法,它基本上打开文件并将其内容发送到 Response.OutputStream

关于C# ASP.NET 3.5 内容配置文件下载问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/336345/

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