Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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#_Asp.net_Sql Server - Fatal编程技术网

C# 上传文件的有效方法

C# 上传文件的有效方法,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我有一个aspx网页,可以选择上传多个文件。这些文件必须以BLOB格式存储在数据库中。 存储这些文件的最有效方式是什么?上传文件的大小和数量没有限制。 我应该在用户单击文件上载按钮或 在“保存”按钮上提交整个表单时,同时上载一次。请记住,这是供多个用户使用的,每次约1000个将文件上载控制多属性设置为“多个”,并在获取请求用户提交的文件后的代码中,循环通过其内存流,并将其作为字节数组存储在数据库中,考虑到这是一个BLOB数据,我会考虑使用一些不SQL数据库(,),在那里你只保存带有数据的“文档”

我有一个aspx网页,可以选择上传多个文件。这些文件必须以BLOB格式存储在数据库中。 存储这些文件的最有效方式是什么?上传文件的大小和数量没有限制。 我应该在用户单击文件上载按钮或
在“保存”按钮上提交整个表单时,同时上载一次。请记住,这是供多个用户使用的,每次约1000个

将文件上载控制多属性设置为“多个”,并在获取请求用户提交的文件后的代码中,循环通过其内存流,并将其作为字节数组存储在数据库中

,考虑到这是一个BLOB数据,我会考虑使用一些不SQL数据库(,),在那里你只保存带有数据的“文档”,这样在这种情况下管理起来就更容易了。但在这种情况下,您需要更多的磁盘空间

上传怎么样:我会一个接一个地上传,就像万一连接断开,至少会有一些文件被上传一样

在服务器端,它看起来像内存缓存,随时准备接受用户“会话”(一系列声明数量的文件),一次所有文件都已交付,或者连接失败,该会话的内容将保存在磁盘上


概述一下可以做些什么来给您一些提示。

鉴于您的场景的局限性(图像必须存储在(我假设)一个SQL数据库中),我会逐一上传图像,我还将调查采用指数退避策略的服务器是否有助于尝试和处理“排队”上传


如果没有更多的细节,我真的说不出来。

您一次上传1000张图片,并将blob存储在SQL Server中?你确定这是个好主意吗?数据库将变得相当大,非常快。首先,我已经实现了一个接一个的上传。其次,我只能使用MSSQL服务器。别无选择。是的,这张桌子将会非常大,而且会很快填满。我将此作为一个场景,仅当用户非常大时。“一个接一个或同时上传”哪一个更好谢谢你的回复。在这个项目中,我们只需要使用MSSQL,而且我已经实现了一个接一个的上传案例。将这些文件一个接一个地直接保存到主表中更好,还是应该先将它们保存到临时表中,然后将它们复制到主表中,最后从临时表中删除这些条目。我目前正在采用第二种方法,以减少多个用户对主表的点击次数。谢谢,我将对此进行研究。TFH块看起来是针对SQL Azure的,但我非常确定重试逻辑适用于任何现代SQL Server。我一直在使用SQLAzure,它很棒。