它可以直接上传到ASP.net上使用SFTP的远程服务器MVC

问题描述:

我目前正在开发的东西使用asp.net MVC,即时通讯仍然没有经验,所以请帮助我。它可以直接上传到ASP.net上使用SFTP的远程服务器MVC

我有一个表格供用户上传视频。上传到远程服务器的当前理想概念是将其上传到当前服务器,然后使用FTP将其推送到远程服务器。

对我来说,这是不是很快,因为你必须上传到当前服务器(时间x1),然后当前服务器推到新服务器(时间x2),所以它是时间的两倍。

所以我的想法是让用户将其上传到当前服务器,并且用户正在上传,当前服务器将该文件添加到数据库并使用SFTP同时将文件发送到远程服务器。 ..

它是否可能并且在这个概念中是否存在任何安全漏洞?

非常感谢您

我推荐使用NULL Ftp Server进行测试。如果使用Filezilla客户端连接到它,您会注意到它会提示用户接受ssl密钥。它以与putty.exe或任何SSH客户端相同的方式执行此操作。

所以,你的代码只需要接受SSL连接,然后从这一点转发它只是普通的FTP命令。

以编程方式,我不知道如何接受证书,所以我可以建议您设置一个批处理文件来运行Putty sftp客户端并推送文件,然后让您的代码调用批处理文件。我很确定ASP支持调用批处理文件。

+0

所以基本上我可以同步接收来自用户的字节,并在同一时间,我连接到SFTP服务器并上传它? :) – DucDigital 2009-11-10 16:06:39

+0

我上面贴的批处理文件的想法是不同步的。我会建议以编程方式执行以实现同步。但是我上面给出的例子可能会帮助你更好地理解情况。此外,您还可以使用WireShark在测试过程中跟踪流量,以了解发生了什么。 – djangofan 2009-11-10 18:50:15

+0

哦,谢谢,我会在这里写我的解决方案给任何人发现这篇文章...基本上,有一种方法可以直接接收字节并保存到磁盘,而不需要将任何数据加载到RAM中,这是一个将字节保存到磁盘的循环,替换保存到磁盘发送字节到远程服务器...如果失败自动从目标服务器上删除文件。希望这有助于寻找相同问题的人...... – DucDigital 2009-11-11 07:20:54

你可以使用java applet直接上传到SFTP。这些小程序有挂钩让你(ASP.NET MVC应用程序)知道上传完成的时间。

我有另一个想法。您可以购买$ 30版本的WinSCP,并将本地目录与远程SFTP目录同步。这将为您节省编程时的麻烦。

+0

这是一个好主意。大声笑:“> – DucDigital 2009-11-11 04:08:37