用于从 Web 服务器上的特定目录下载任何类型文件的 Aspx 页面

Posted

技术标签:

【中文标题】用于从 Web 服务器上的特定目录下载任何类型文件的 Aspx 页面【英文标题】:Aspx page to download any type of file from a specific directory on web server 【发布时间】:2012-04-13 05:10:37 【问题描述】:

我的客户有一个快速要求,他想将一些文件存储在网络服务器的文件夹中(我们有一个临时文件夹,它有权允许所有人)。

他想直接将文件放入其中并提供链接,例如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";

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

【问题讨论】:

看这个答案***.com/a/1910343/30594 【参考方案1】:

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

Using .NET, how can you find the mime type of a file based on the file signature not the extension

或者你可以放,它应该可以很好地下载二进制文件。 Response.ContentType = "application/octet-stream";

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

【讨论】:

我可以使用二进制写入下载任何类型的文件吗? 是的,您可以下载任何文件类型,检查代码示例的编辑

以上是关于用于从 Web 服务器上的特定目录下载任何类型文件的 Aspx 页面的主要内容,如果未能解决你的问题,请参考以下文章

使用 Web 服务从 SharePoint 下载文件的特定版本

如何使用 Web 部署将 .NET 应用程序发布到服务器上的特定文件夹(子目录)?

grep 递归查找 Linux 上的特定文件类型

如何通过url方式从自己的服务器上下载文件?

拒绝访问特定目录中的特定文件类型

从 FTP 服务器上的 Zip 解压 csv 文件