我可以在哪个文件夹中存储用户上传的图像

时间:2011-02-10 11:14:13

标签: asp.net restart

我在ASP.NET / c#/ SQL SQL上有一个分类广告系统,而我正试图找出在放置广告时人们上传的图片的存储位置。广告本身存储在SQL服务器数据库中。

图像现在存储在我的webapp的子文件夹中。它似乎工作正常,但我最近才发现一个大问题。每次用户删除广告时,附加的图像也将被删除,包括它们所在的文件夹。这会导致重新启动asp.net应用程序。我搜索了互联网,发现重新启动网络应用程序实际上是在删除子文件夹时的行为。

显然,我需要解决这个问题。但是怎么做呢?我可以在哪里存储图像:

  • 我可以删除这些图像,包括它们存储在的文件夹吗?
  • 我可以使用URL访问它们(图片需要显示在 网页)
  • 没有获得网络应用程序 重新启动? 任何反馈表示赞赏! 保罗

3 个答案:

答案 0 :(得分:0)

请参阅此问题Deleting a directory results in application restart

另一种选择是将图像存储在DB中。

答案 1 :(得分:0)

另一种选择是将图像放在与网站完全无关的目录中,然后通过脚本页面或处理程序提供图像。它会使你的所有图像网址看起来都像mydomaincom/serveimage.aspx?imageid=323422,但除非你指望某个地方的名字真的不重要。显然,首先需要修改为图像提供服务的页面,但是如果删除了这个不相关目录的子目录,那么IIS根本就不应该关心。

答案 2 :(得分:-2)

也许你可以用SQL存储图像(在这种情况下检查文件流功能) 如果没有,我想你有一个商业门面类,服务类或任何你想要的地方,一个方法“DeleteAd”。

这种方法必须做两件事:

- 删除sql数据 - 删除文件图像

另外,您可以将图像存储更改为Web应用程序外部的另一个文件夹。您可能最终会编写一个自定义处理程序(myhandler.ashx?fileid = XX)来提供文件,或者如果您使用MVC则自定义路由和控件。

相关问题