【发布时间】:2012-09-21 15:54:24
【问题描述】:
我有一个 ASP.Net 网站,在某些情况下,它会生成 .pdf 文件和 .csv 文件供用户下载。
现在我的问题是:在网络服务器上保存文件的默认目录是什么?有没有像 App_... 之类的 ASP.NET 文件夹?
你有什么推荐的?
【问题讨论】:
标签: c# asp.net file-location
我有一个 ASP.Net 网站,在某些情况下,它会生成 .pdf 文件和 .csv 文件供用户下载。
现在我的问题是:在网络服务器上保存文件的默认目录是什么?有没有像 App_... 之类的 ASP.NET 文件夹?
你有什么推荐的?
【问题讨论】:
标签: c# asp.net file-location
如果您不想重复使用文件,请直接流式传输文件而不将其保存到磁盘。
如果您将其保存到磁盘,您必须自问该文件的内容是否可供所有用户使用,或者其他用户可以访问这些文件是否是个坏主意。如果这是一个坏主意,则应通过相应地设置访问权限,使用户无法使用您放置文件的文件夹。您可以通过将文件夹放在网站目录之外或通过在文件系统或网络服务器上设置安全设置来做到这一点。
基本上,您可以将文件放在任何对编写文件的用户(通常是 ASP.NET 应用程序池用户)可写的文件夹中。 IIRC App_data 文件夹对于 ASP.NET 用户默认是可写的,因此它可能是一个候选者。
【讨论】:
您可以根据需要创建适当的文件夹
此处列出特定文件夹(但您不需要):
App_GlobalResources,
App_LocalResources,
App_Resources
App_Themes
App_WebReferences)
App_Code
App_Data
App_Browsers
这里是关于项目结构的 MSDN 链接
链接:http://msdn.microsoft.com/en-us/library/ex526337%28v=vs.100%29.aspx
【讨论】:
这真的取决于你!我建议您将它们放在解决方案的子文件夹中,以便它们是独立的,您可以轻松控制安全性,而不必担心树下的文件夹。
【讨论】:
文件夹是你告诉它的任何东西。如果您的音量较低,您可以只从内存中流式传输文件,这样它们就不会存储在服务器上。
【讨论】:
考虑是否要拥有多个 Web 服务器以及在集群中拥有服务器也很重要。要为这种情况做好准备,最好不要将文件保存在 Web 应用程序文件夹下,也不要相对于应用程序路径访问它们,而是将文件保存在您可以轻松暴露的单独文件夹中(仍然会有是安全问题)作为网络路径。
【讨论】: