Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 存储和检索图像的最佳方法_C#_Html_Asp.net_.net - Fatal编程技术网

C# 存储和检索图像的最佳方法

C# 存储和检索图像的最佳方法,c#,html,asp.net,.net,C#,Html,Asp.net,.net,我现在正面临一点麻烦。。我有一个图像库,将图像存储在文件夹中。现在,如果我想访问图像而不进行任何处理,我必须将文件夹保存在那里,这样我就可以直接访问它SomeFolder/imageset/image.jpeg但这无法得到彻底保护。。其次,如果我将图像文件夹保存在App\u Data文件夹中,那么我必须使用HttpHandler。这个处理程序创建了大量的混乱,因为必须生成大量的拇指和其他处理。这使得系统的响应速度非常慢。。我应该如何保护用户相册并使其更简洁。大多数时候,我都会想到这个问题,即如何

我现在正面临一点麻烦。。我有一个图像库,将图像存储在文件夹中。现在,如果我想访问图像而不进行任何处理,我必须将文件夹保存在那里,这样我就可以直接访问它
SomeFolder/imageset/image.jpeg
但这无法得到彻底保护。。其次,如果我将图像文件夹保存在
App\u Data
文件夹中,那么我必须使用
HttpHandler
。这个处理程序创建了大量的混乱,因为必须生成大量的拇指和其他处理。这使得系统的响应速度非常慢。。我应该如何保护用户相册并使其更简洁。

大多数时候,我都会想到这个问题,即如何保护图像

尽管如此,Facebook仍然没有完全的技术支持,它在保护图像方面做了一些工作

如果您有机密图像,您可以将其存储在DB中,该DB将通过角色权限进行访问

如果您只需要文件夹,请将其授权给Web.config中的特定角色


(我假设存在用户角色实现)

根据@Nipun的建议,使用特定于目录的Web.config文件来授权访问,您可以执行以下操作

  • 创建文件夹/Root/Images/Albums,并添加包含以下内容的web.config文件:

    <system.web> <authentication mode="Forms"/> <authorization> <deny users="?"/> </authorization> </system.web>
  • 每次创建新的特定于用户的相册时,请在相册目录中创建一个子文件夹,使用用户名ie./Images/albums/Stokedout/。并且还动态创建一个web.config文件,该文件只允许该用户访问它

    <system.web> <authentication mode="Forms"/> <authorization> <deny users="Stokedout"/> </authorization> </system.web>

  • 如果您执行上述操作,则其他人无法看到彼此的图像。这是一个我没有尝试过的概念。

    一种方式是使用配置来限制访问,U可以创建角色并允许/限制它,这里不见它是用户相册,所以我认为我不能为每个单独的用户创建角色。考虑像属于用户的脸谱网相册。如果他愿意让其他人看到,如果他不愿意,那么任何人都无法访问。。角色在这里没有意义。好的,既然如此,为什么不将其存储在DB中呢?并在数据库级别管理用户权限。哦。。。我最近换了文件夹,我想这会给数据库增加额外的负载,因为我也被告知数据库不是专门用于图像的,我也感觉到了..嗯,它确实增加了一些额外的负载,但是通过最新的Sqlserver和正确的查询,我们可以优化负载。我已经两次更改了相册的设计,现在我完全不知道应该做什么…好的。。我觉得很有趣。我必须试试这个。但是现在我认为App_数据文件夹将是最好的选择和httphandler概念。这很酷。但是,如果您已经在使用带有表单身份验证的会员服务,那么值得一试。它也适用于Windows身份验证。唯一的问题是,如果允许用户选择另一个用户名,您必须调整文件夹和配置以适应该用户名。