我曾经使用过Parse提供的服务,他们实现了一个非常棒的数据上传功能,类似于以下方法:
PFFile *objectToSave...; //An image or whatever, wrapped in a Parse-file
[objectToSave saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
//Do stuff after upload is complete
} progressBlock:^(int percentDone) {
[someLabel setText:[NSString stringWithFormat:@"%i%@", percentDone, @"%"]];
}];
我想跟踪文件上传情况。由于Parse只允许我上传最大10MB的文件,所以我选择转向云端区域进行探索。我现在一直在测试Amazon的S3服务,但是我唯一找到上传数据的方法是通过调用[s3 putObject:request];
。这将占用主线程直到完成,除非我在另一个线程上运行它。无论哪种方式,我都不知道如何让我的用户知道上传进度。难道真的没有办法吗?我读到一些浏览器API版本的S3服务必须使用Flash,或者设置所有上传通过另一个服务器进行,并在该服务器上跟踪,但我不会做任何一种。有人知道怎么做吗?谢谢。
我的用户应该上传大小达到15MB的视频,我必须让他们盯着旋转的轮子等待未知的时间吗?在网络差的情况下,他们可能需要等待15分钟,但他们会一直看着屏幕希望上传成功。