上传文件的有效方式

时间:2014-03-26 14:19:33

标签: c# asp.net sql-server

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

3 个答案:

答案 0 :(得分:0)

将文件上传控件的多个属性设置为'multiple',并在get request用户提交的文件后面的代码中,然后遍历它们的内存流并将它们作为字节数组存储在db中

答案 1 :(得分:0)

考虑到它是BLOB数据,我会考虑使用一些No-SQL数据库(MongoDBRavenDB),只保存"文档"使用数据,因此在这种情况下更容易管理。但在这种情况下,您将需要更多的磁盘空间。

如何上传:我会一个接一个地去,如果连接断开,至少有一些文件被传递。

在服务器端,会在Redis上看起来像内存缓存一样,随时可以接受用户" session" (一系列声明的文件数量),并且一次传递所有文件,或连接失败,该会话的内容保存在磁盘上。

只是概述可以做些什么来给你一些提示。

答案 2 :(得分:0)

鉴于您的场景的局限性(图像必须存储在(我假设)单个SQL数据库中)我会考虑逐个上传图像,我会调查SQL Server Transient Fault Handling是否与{指数退避策略可以帮助尝试处理“排队”上传。

没有更多细节我真的不能说。