ASP.NET网站在哪里保存生成的文件

时间:2012-09-20 17:49:12

标签: c# asp.net file-location

我有一个ASP.Net网站,在某些情况下,它会生成.pdf文件和.csv文件供用户下载。

现在我的问题:在网络服务器上保存这些文件的默认目录是什么?是否有像App _...这样的ASP.NET文件夹或类似的东西?

你能推荐什么?

5 个答案:

答案 0 :(得分:3)

如果您不想重复使用这些文件,请直接流式传输文件而不将其保存到磁盘。

如果将其保存到磁盘,则必须问自己该文件的内容是否可供所有用户使用,或者其他用户是否可以访问这些文件。如果这是一个坏主意,通过相应地设置访问权限,应该使用户无法访问您放入文件的文件夹。您可以通过将文件夹放在网站目录之外,或者通过在文件系统或Web服务器上设置安全设置来执行此操作。

您基本上可以将文件放在任何可写入文件夹的文件夹中(通常是ASP.NET App Pool用户)。 IIRC默认情况下,对于ASP.NET用户,App_data文件夹是可写的,因此可以成为候选者。

答案 1 :(得分:1)

您可以为此需要创建适当的文件夹

此处列出特定文件夹(但您不需要):

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

答案 2 :(得分:1)

这真的取决于你!我建议你将它们放在解决方案的子文件夹中,这样它们就是自包含的,你可以轻松地控制安全性而不用担心树下的文件夹。

答案 3 :(得分:1)

文件夹是你告诉它的任何东西。如果您的音量较低,您可以从内存中流式传输文件,这样它们就不会存储在服务器上。

答案 4 :(得分:0)

您还要考虑是否要拥有多个Web服务器,并在群集中安装服务器。为了做好这种情况的准备,最好不要将文件保存在Web应用程序文件夹下,而不是相对于应用程序路径访问它们,而是将文件保存在一个您可以轻松公开的单独文件夹中(仍然会是安全问题)作为网络路径。