【问题标题】:FTP vs HTTP upload on iPhoneiPhone 上的 FTP 与 HTTP 上传
【发布时间】:2010-12-19 14:05:51
【问题描述】:
在我的 iPhone 应用程序中,我需要将图像上传到服务器。我不太担心安全性和东西,只需要一种快速可靠的方法。我可以在 HTTP 发布请求中嵌入我的图像数据,或者我可以创建到服务器的 FTP 连接(使用 Apple 的 SimpleFTPSample)。每种方法的缺点是:
- HTTP:如果图片太大无法恢复,并且无法知道上传进度(%),则超时?
- FTP:有时我得到 NSStreamEventErrorOccurred 并且不知道为什么(在设备上测试时,在模拟器上效果很好。所以可能是 3G 错误?)
我的问题是,您对这个问题有任何经验吗(将图像上传到服务器)?你推荐什么方法? FTP、HTTP 或其他方法?提前致谢。
【问题讨论】:
标签:
iphone
http
image
upload
ftp
【解决方案1】:
对于我的一个项目,我需要将图像从各种移动设备(IE:iPhone 和 Android 设备)上传到网络服务器。我创建了一个 Java Servlet,它将通过 POST 请求接受图像并将其保存到服务器。还有指向 Objective-C (iPhone/iPad) 和 Java (Android) 客户端的链接。
教程是here
【解决方案2】:
我终于继续使用HTTP,并使用下面的委托方法来跟踪上传进度:
- (void)connection:(NSURLConnection *)connection didSendBodyData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite
totalBytesWritten / totalBytesExpectedToWrite 给了我上传百分比。
【解决方案4】:
如果您控制目标服务器,第三种选择是创建自己的协议来发送数据。这可以让您获得所需的灵活性,但必须自己处理较低级别的功能。
【解决方案5】:
许多网络阻止 FTP 流量这一事实将引导我转向 HTTP POST。