【问题标题】:is it posible to upload directly to remote server using SFTP on ASP.net MVC是否可以在 ASP.net MVC 上使用 SFTP 直接上传到远程服务器
【发布时间】:2010-07-09 02:13:45
【问题描述】:

我目前正在使用 asp.net MVC 开发一些东西,我还没有使用它的经验,所以请帮助我。

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

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

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

这可行吗?这个概念是否存在安全漏洞?

非常感谢

【问题讨论】:

    标签: asp.net-mvc ftp sftp


    【解决方案1】:

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

    因此,您的代码只需要接受 SSL 连接,然后从那时起它只是常规的 FTP 命令。

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

    【讨论】:

    • 所以基本上我可以同步接收来自用户的字节,同时我连接到SFTP服务器并上传它? :)
    • 我在上面发布的批处理文件想法不是同步的。我建议以编程方式进行以保持同步。但是我上面给出的例子可能会帮助你更好地理解这种情况。此外,您还可以使用 WireShark 在测试期间跟踪流量以了解发生了什么。
    • 哦,谢谢,我会在这里为任何发现这篇文章的人写我的解决方案......基本上,有一种方法可以接收字节并直接保存到磁盘而不将任何数据加载到 RAM,这是一个循环将字节保存到磁盘,我基本上将保存到磁盘替换为将字节发送到远程服务器......如果失败自动从目标服务器中删除文件。希望这对寻找相同问题的人有所帮助...
    【解决方案2】:

    我有另一个想法。您可以购买 30 美元的 WinSCP 版本,它将本地目录与远程 SFTP 目录同步。这样就省去了编程的麻烦。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-13
        • 1970-01-01
        • 2013-10-17
        • 2014-12-03
        • 1970-01-01
        • 2020-05-28
        • 2018-04-23
        相关资源
        最近更新 更多