我可以将App_Data文件夹用作C#ASP.NET MVC应用程序中的普通文件夹吗?

问题描述 投票:0回答:1

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

c# asp.net-mvc permissions data-access app-data
1个回答
0
投票
ApplicationData是应用程序数据的文件夹。您存储哪种数据取决于您。请注意,在Windows上有3个:

    ApplicationData
  • CommonApplicationData
  • LocalApplicationData
  • 通常,其中的数据应该是特定于该用户的数据-当然,除了CommonApplicationData。可在用户之间共享,这是“公用”前缀文件夹的用途。

    但是其余的问题毫无道理。您希望用户手动将东西放到那里,以便WebSite可以上传吗?您似乎还认为这不是“正常”文件夹?

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

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

    从OS取回真实值

    编辑:

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

    WebServer极易受到黑客攻击。在线24/7,一些知名框架和广泛的可到达性是其核心目标。结果,它们通常在可能的最严格的用户权利

    。]下运行。

    对服务器程序和Instances内容目录的读取访问权限-不能期望而且绝对不应授予更多权限。也许在Temp文件的内容子文件夹中写访问权限-但有更好的解决方案,其中涉及数据库和HTTP处理程序。

    解决方案:

    如果要使图像可用,请将其放入此实例的Content

    目录的子文件夹中。但是,您实际上应该被视为带有HTTP处理程序的数据库存储:https://www.red-gate.com/simple-talk/sql/learn-sql-server/an-introduction-to-sql-server-filestream/有些甚至甚至拥有一个单独的,专用于图像的专用Web服务器。但是我怀疑你还没有达到这个规模。
  • © www.soinside.com 2019 - 2024. All rights reserved.