用于从 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 下载文件的特定版本