我已通过我的服务器上传文件并且工作正常,但我想显示上传状态的进度视图,如何执行此操作,请帮助我
先谢谢
我试过了:
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"file\"; filename=\"%@\"\r\n",file] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:Filedata];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
if (theConnection)
mutaebleData = [[NSMutableData data] retain];
else
NSLog(@"No Connection");
使用此委托上传数据状态,但它不会帮助
- (void)request:(NSURLConnection *)request
didSendBodyData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite
{
NSLog(@"%d bytes out of %d sent.", totalBytesWritten, totalBytesExpectedToWrite);
}
答案 0 :(得分:1)
请看一下这个帖子,它会对你有帮助:
How to track the progress of a download using ASIHTTPRequest (ASYNC)
答案 1 :(得分:0)
这是适合您的最佳自定义控制器。
您可以从此链接找到的自定义UIActivityIndicator
https://github.com/jdg/MBProgressHUD
这些不是苹果特定的控件。此MBProgressHUD控件由三个控件组成,如下所述。
UIImageView
与图片。 UIActivityIndicatory
UILabel
包含您要显示的任何消息。 MBProgressHUD
是一个iOS插件类,在后台线程中完成工作时显示带有指示符和/或标签的半透明HUD。 HUD用于替代未记录的私人UIKit UIProgressHUD,具有一些附加功能.......
对于mor信息,请转到上面的链接
答案 2 :(得分:-1)
最简单的是你可以提醒UIProgressView并在委托中设置你可以设置进度值,例如:
- (void)request:(NSURLConnection *)request
didSendBodyData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite
{
NSLog(@"%d bytes out of %d sent.", totalBytesWritten, totalBytesExpectedToWrite);
UIProgressView *progressView = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleDefault];
[self.view addSubview:progressView];
progressView.progress = (double) bytesWritten / totalBytesWritten;
}