Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.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# 是否将图像保存到HDD或存储为数据库中的字节数组?_C#_Asp.net_File Upload_Bytearray - Fatal编程技术网

C# 是否将图像保存到HDD或存储为数据库中的字节数组?

C# 是否将图像保存到HDD或存储为数据库中的字节数组?,c#,asp.net,file-upload,bytearray,C#,Asp.net,File Upload,Bytearray,可能重复: 很简单,我主持了一个网站,用户可以上传图片,我有一个.net文件上传控件可以正常工作。。我只是想知道应该使用什么方法将它们存储在服务器上 我可以使用FileUpload控件之外的SaveAs()方法,该方法将其保存为实际文件 我可以将图像分解为一个字节[],并将其存储在数据库中以供访问 我相信这里真正的问题是。。我想在IIS或Sql Server 2008 R2上加载吗 关于我应该使用哪种方法论的普遍共识是什么?为什么?谢谢 避免将它们放入数据库中。仅仅因为有几个文件,这会使您

可能重复:

很简单,我主持了一个网站,用户可以上传图片,我有一个.net文件上传控件可以正常工作。。我只是想知道应该使用什么方法将它们存储在服务器上

  • 我可以使用FileUpload控件之外的SaveAs()方法,该方法将其保存为实际文件
  • 我可以将图像分解为一个字节[],并将其存储在数据库中以供访问
我相信这里真正的问题是。。我想在IIS或Sql Server 2008 R2上加载吗


关于我应该使用哪种方法论的普遍共识是什么?为什么?谢谢

避免将它们放入数据库中。仅仅因为有几个文件,这会使您的数据库变得更大。这也会影响备份大小

我看不到在数据库中使用实际的文件字节有任何实际的好处。如果您在文件系统中有文件的物理路径,那就足够了


这还允许您为文件制定自己的备份策略。

没有达成共识,因为这两种方法都不理想

将图像存储为文件意味着很难将应用程序扩展到多台服务器上运行。然后,您将需要SAN/NAS来存储文件,而不是本地磁盘

将图像存储在数据库中意味着您正在为图像数据使用大量的缓存空间,这会减慢其他查询的速度,并且还会增加数据库的大小和备份。这也意味着你必须通过一个页面提供图像,你不能直接请求文件


因此,这取决于您将拥有多少图像,以及您需要应用程序具有多大的可伸缩性。

可能的重复:;请下次再搜索,这个问题已经被问了很多次了。感谢您在@Guffa解决双方的问题。我们已经在看SAS/LUN了(我不怎么说基础架构lol)。但我想知道是否还有其他更好的方法?你会用哪种方法?啊,你的修改更有意义。我将考虑可伸缩性。谢谢@Guffa@Kulingar当前位置我将使用什么取决于位置。我两者都用过。目前,我们正在构建一个系统,其中一个web服务器在NAS上存储图像,多个web服务器从NAS加载图像,在提供图像之前调整图像大小并对其进行缓存。