0

我知道这个文件夹App_Data通常用于数据库文件等,但我现在想要这个用于图像,想法是用户将图像上传到这个文件夹并且可以从网站访问它们,我现在基本上想App_Data被用作/被认为是一个普通文件夹, 有人知道怎么做吗?只是权限设置还是这个文件夹不能像普通文件夹一样使用。提前致谢 :)

4

1 回答 1

0

ApplicationData 是应用程序数据的文件夹。您在那里存储什么样的数据取决于您。请注意,Windows 上有 3 个:

  • 应用数据
  • 通用应用程序数据
  • 本地应用程序数据

通常,那里的数据应该是特定于该用户的数据 - 当然,CommonApplicationData 除外。在用户之间共享是“通用”前缀文件夹的用途。

然而问题的其余部分没有意义。您希望用户手动将内容放在那里,以便网站可以上传吗?您似乎还认为它在某种程度上不是“正常”文件夹?

网站不能随机访问文件系统。因此,用户在那里导航真的很烦人。如果循环中有另一个程序,你还没有告诉我们。

而且文件夹很正常。操作系统存储了一个可以更改的路径(并且文件自动移动),但除此之外它是正常的。未知的位置是为什么您应该始终使用https://docs.microsoft.com/en-us/dotnet/api/system.environment.specialfolder从操作系统中检索实际值

编辑:

根据你的评论,我现在明白了。你正在一个网站。您想知道为什么服务器无法访问 AppData 文件夹。当然,直到现在我才正确地注意到 MVC。

Web 服务器特别容易受到黑客攻击。24/7 在线,一些众所周知的框架和广泛的可达性作为核心目标。因此,它们通常在可能的最严格的用户权限下运行。

对服务器程序和 Instances 内容目录的读取访问权限 - 不再有任何期望,也不应该被授予。也许在临时文件的内容子文件夹中写入访问权限 - 但有更好的解决方案,涉及数据库和 HTTP 处理程序。

解决方案:

如果您希望您的图像可用,请将它们放入此实例的Content目录的子文件夹中。但是,您确实应该考虑使用 HTTP 处理程序进行数据库存储:https ://www.red-gate.com/simple-talk/sql/learn-sql-server/an-introduction-to-sql-server-filestream/有些甚至尽可能为图像提供单独的专用网络服务器。但我怀疑你还没有达到那个规模。

于 2020-05-09T23:31:45.350 回答