如何构建存储在私有服务器上的图像的URL?

时间:2016-01-31 03:03:37

标签: ios afnetworking vpn nsurl

对于某些情况,我正在编写一个iPhone应用程序,必须在首次启动时获取大量(~500 MB)批量的PNG图像。在我的研究过程中,我遇到了AFNetworking和NSURLSession作为获取图像的可能方法,但这两个API都需要使用URL,例如,

NSURL* imageURL = [NSURL URLWithString:@"http://www.google.com/images/imageName.png"];

我的问题是,如果我试图检索的图像或图像数据不在某些公共域中,如http://www.google.com,而是某个已知IP地址的私人服务器,例如我的DigitalOcean Droplet,如何检索或构建其URL?

我确实知道服务器上图像的确切路径,而不是如何从iOS进入服务器,因为我在stackoverflow上找到的所有示例都假设我使用的是标准的http://网址。 / p>

2 个答案:

答案 0 :(得分:1)

请参阅此文章,了解如何从DigitalOcean Droplet分配/获取公共IP地址。 https://www.digitalocean.com/community/tutorials/how-to-use-floating-ips-on-digitalocean

它很长,因为它是供应商特定的。但是,在AFNetworking上使用公共IP地址应该可以正常工作。

答案 1 :(得分:1)

只需替换

http://www.google.com

使用您的IP地址

http://xxx.xxx.xxx.xxx:<port>

甚至

http://localhost:8080

如果您在本地进行测试,则有效。

请注意,域名只是一个人类可读的名称,可以帮助人们记住&amp;轻松打字,它最终会在后面返回服务器的IP。

顺便说一下,我建议您使用域w / CNAME记录来引用您的服务器,以防服务器关闭或您希望将来更改服务器,因此您只需要更改域的CNAME记录没有用于部署仅用于更改URL的新App版本。