Aspx页面可以从web服务器上的特定目录下载任何类型的文件

本文关键字:下载 文件 类型 任何 服务器 web Aspx | 更新日期: 2023-09-27 18:29:36

我的客户很快要求他将一些文件存储在web服务器的文件夹中(我们有一个临时文件夹,它有权允许Everyone)。

他想直接把文件放在那里,并给出链接。http://www.abcd.com/temp/somefile.rdl以直接下载该文件。

有没有现成的aspx页面可用,这样我就可以使用文件夹的页面集路径,它应该可以这样工作。

如果不能,我只能使用aspx页面快速创建它。

我几乎用aspx 中的以下代码做到了

<%
Response.AppendHeader("Content-Disposition", "attachment; filename='"" + Server.MapPath("~/TempReport/"+Request.QueryString["file"]) + "'"");
Response.ContentType = "Application/cab";
Response.TransmitFile(Server.MapPath("~/TempReport/"+Request.QueryString["file"]));
Response.End();
%>

唯一的问题是,由于以下行,我只能下载cab类型的文件:

Response.ContentType = "Application/cab";

我想下载任何类型的文件。

Aspx页面可以从web服务器上的特定目录下载任何类型的文件

查看这篇文章的答案,以获得应该为您的内容类型设置的MIME类型

使用.NET,如何根据文件签名而不是扩展名找到文件的mime类型

或者你可以直接放,这应该可以很好地下载二进制文件。Response.ContentType="应用程序/八位字节流";

        Page.Response.ContentType = "application/octet-stream"
        Page.Response.AddHeader("Content-Disposition", "attachment; filename=""" & strFilename & """")
        Page.Response.OutputStream.Write(objAttachment.Data, 0, objAttachment.Data.Length)