FTP文件上传不会比初始上传更耽误用户行程

本文关键字:用户 文件 FTP | 更新日期: 2023-09-27 18:00:07

想知道执行以下操作的最佳方法:

我正在将一个文件上传到我的服务器,但不想将其保留在我的服务器上。该文件是一个视频文件,由希望在网站上发布视频供朋友观看的用户上传。

我使用NeatUpload作为我的上传控制,因为我实际上不被允许使用flash,尽管如果使用flash的理由比不使用flash的论点更大,那么我可以说服负责人,这是一个可行的选择。

因此,一旦文件在我的服务器上成为流媒体,我就会通过ftp将其上传到流媒体服务器,在那里播放。

如何在不阻碍用户的情况下将其发送到ftp?我已经把它拖到我的服务器上了,我真的不想把等待时间增加一倍。

我已经写了上传和ftp的代码,我只是在寻找正确的方法来完成ftp,而不会阻碍用户。

FTP文件上传不会比初始上传更耽误用户行程

就我个人而言,我使用的是ASP.NET、数据库/文件系统文件夹和作为Scheduled Task运行的控制台应用程序的组合。

当用户上传时,我会将文件放在一个特殊的"pick"文件夹中,可以选择生成一个数据库条目(如果需要传递比文件更多的信息)。

然后完成ASP.NET部分。

作为Scheduled Task运行的控制台应用程序(例如每5分钟)迭代所有DB和/或文件系统条目,通过FTP将其上传到另一台服务器来处理每个条目,并在处理后删除文件和DB条目。

(也许这个解决方案在技术方面被批评为"穷人的解决方案"(例如,不使用Windows服务),但在我的项目中,它总是运行得很好。)

这就是您可以执行线程化位的方法:

Stream stream = new MemoryStream();                
inputFileId.FileContent.CopyTo(stream);
ThreadPool.QueueUserWorkItem(delegate { SendViaFTP(inputFileId.FileName, stream); });