【问题标题】:how to handle multiple uploads?如何处理多个上传?
【发布时间】:2013-07-17 19:41:00
【问题描述】:

我正在编写一个可以将文件上传到多个 FTP 服务器的程序。

有一个表格,最上面一行是网站,最左边一列是文件。通过这张表,我定义了应该上传到哪里。

该程序已经在运行,但我现在要做的是在每个站点上并行上传文件。因此,当我点击开始时,如果特定单元格的内容如此说明,每列将自行遍历行并将文件上传到该站点。站点可以是 1 到 50 之间的任意数字。所有上传都应该是并行的。 (每个站点一次一个文件)

我要问的是处理这种事情的最佳方法是什么?我知道我必须设置多个上传器,但令我困惑的是如何跟踪每个站点的操作。我唯一能想到的是数组数组。其中每个位置都针对一个站点,并且该位置的数组定义了正在上传的文件以及它需要的所有信息。这会是一个好的解决方案吗?

谢谢!

【问题讨论】:

    标签: vb.net upload ftp multiple-instances


    【解决方案1】:

    您可以将数据放入数组中,然后使用 for 循环

    使用此代码

    $web = ['www.firstSite.com','www.secondSite.com']
    $user = ['firstUser','secondUser']
    $pass = ['firstPass','secondPass']
    
    for($i=0;$i<sizeof($web);$i++)
    {
    $conn_id = ftp_connect($web[$i]);
    $login_result = ftp_login($conn_id,$user[$i],$pass[$i]);
    
    if (ftp_put($conn_id, $server_file, $local_file, FTP_BINARY))
     {echo "Success";} 
    else {echo "Failed";}
    }
    

    【讨论】:

    • 前三行是将数据转换成字符串变量 |回声相等打印 | ftp_connect & ftp_login & ftp_put 是 php 中的库来完成你的 ftp 工作,我认为在 vb.net 中有类似的库 | if 语句和 for 循环 | sizeof 函数给你数组的长度,我会尽快把它转换成 VB。
    • 试试这个 (vbforums.com/…)
    【解决方案2】:

    您可以创建一个自定义类并将List(Of SiteFiles) 用于它们的集合。您迭代站点数据并为每个站点创建一个新的SiteFiles 对象,并将文件名添加到需要上传到该站点的Files 属性。然后,当您完成此List(Of SiteFiles) 之后,您可以为每个SiteFiles 对象迭代SiteFiles.Files 中的每个文件,并在需要时使用线程/异步方法并上传文件。这为您提供了一种整洁的方式来组织您的工作。

    Public Class SiteFiles
      Public Property Site As String
      Public Property Files As New List(Of String)
    End Class
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-30
      • 2017-07-27
      • 2015-07-02
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多