0

我的应用程序需要能够从 Web 服务器/目录(即 www.somedomain.com/images/)获取多个图像。图像的数量永远不会相同,我将无法访问文件的名称,因为它们也永远不会相同。我正在寻找的最终结果是让我的客户能够通过她的 ftp 客户端访问她的子目录,并将图像拖放到指定的文件夹中,而无需为图像命名、写入任何 xml 文件或任何除了将图像拖入文件夹之外的其他步骤。然后我的客户登录到应用程序的用户将能够获取我的客户放置在该目录中的图像。我一直在研究 Apple 的 simpleFTPsample 项目以通过 FTP 访问。我只想知道是否还有其他更简单的选择?一个原因是:simpleFTPsample 样式需要 FTP 用户名和密码才能访问这些文件。我不是 100% 确定在应用程序中放置用户和传递是否安全。任何建议或样品将非常感谢。

4

2 回答 2

0

根据您将如何使用图像,最好的办法可能是创建一个为您提供图像和相应 URL 的 Web 服务。这将提供一种解决方案,允许您的客户的用户获取图像,而无需了解任何有关 FTP 的信息,并且只显示给定目录的图像。该设置将允许您根据您的响应加载图像,并根据需要使用它们。这是一小部分示例代码,用于在 tableview 单元格中异步加载图像。

// load thumbnail images off main thread
    dispatch_async( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
        // backgroung processing
        UIImage *thumbnail = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"yourURL"]]];

        dispatch_async( dispatch_get_main_queue(), ^{
            // background processing complete
            [[(TableCell *) cell image] setImage:thumbnail];
            [[cell activityIndicator] stopAnimating];

            // if row selected before image loaded 
            if ([indexPath row] == [[tableView indexPathForSelectedRow] row]) {
                 if (!iPhone) {
                     [myButton setBackgroundImage:thumbnail forState:UIControlStateNormal];
                 }
             }
        });
    });

我创建了一个示例 Web 服务项目,可以帮助您构建服务响应,该服务响应在 github 上可用,网址为https://github.com/propstm/SampleWeatherApp

于 2012-12-10T21:47:16.317 回答
0

我建议将一个简单的 PHP 脚本列出图像到与图像相同的 HTML 目录中。然后,您可以根据点击列表脚本的输出,使用简单的 NSURLConnection 调用下载目录中的所有图像。

这样的东西。

<?php

    $directory = "."; // Use your directory here

    // create a handler for the directory
    $handler = opendir($directory);

    // open directory and walk through the filenames
    while ($file = readdir($handler)) {

      // if file isn't this directory or its parent, add it to the results
      if ($file != "." && $file != "..") {
        echo "$file\n";
      }

    }

    // tidy up: close the handler
    closedir($handler);
?>

如果有某种安全措施,您可以使用目录中的 .htaccess 来提供登录屏障,并使用您的 NSURLConnection 提供凭据。

祝你好运。

于 2012-12-10T22:02:30.263 回答