如何处理服务器场上的上载文件

时间:2013-03-25 13:34:07

标签: asp.net database filesystems

我们有一个asp.net网站,允许用户上传文件。目前我们通过filestream执行此操作。用户单击一个按钮,我们在站点根目录>下创建该文件夹。下载> folder-idofuser>文件名。有没有比这更好的方法。即特定位置外部应用程序中的所有文件???路径未存储在数据库中以进行访问我们只列出文件流中相对文件夹中的文件。也许我们应该做任何建议吗?

他们可以根据需要上传任意数量的文件。目前我们每个月大约有30,000人。由于我们的文件夹结构,我们现在正在经历文件夹的缓慢,因此我们将超过6个月的文件夹存档到高清上的新位置。大量的文件,一开始就没问题,但现在超过600gig值得一点噩梦。仍然在1个文件夹下留下数十万个文件夹。

我阅读了很多文章和问题,我仍然不确定最好的事情,看看2个例子:    看着https://stackoverflow.com/questions/810215/best-practice-checks-when-allowing-users-to-upload-files-to-a-web-application

Managing user-uploaded files with an ASP.NET website and Visual Studio

现在我们正计划从当前的内部托管转移到服务器场。当我们拥有如此多的文件时,这似乎非常昂贵。我们应该有2台服务器1用于应用程序/网站,还有1台用于文件和数据库。或者就足够了。显然钱是方程式的一个重要部分,但是,试图得到一个好主意,最好是英镑等任何好的,请建议。我们应该如何存储文件并访问它们。我们应该使用子域等以及如何使用。

希望问题不要无聊,谢谢所有提前

1 个答案:

答案 0 :(得分:1)

使用唯一名称(Guid)保存服务器上的文件并将其保存到数据库是不是更好。 这样,您只需要查询数据库,这是非常快速的,而不是遍历系统上的所有文件。 当有人请求文件时,只需将其提供给用户即可。我想这可能真的很快。这样,您还可以拥有一个脚本,该脚本将每月或每天运行并归档您的文件。并使用文件的新路径在记录中设置一个标记。这可以每晚自动完成。