0

我已经通过我的服务器上传了一个文件并且它工作正常,但我想显示上传状态的进度视图,如何做到这一点,请帮助我

提前致谢

我试过这个:

        [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);
}
4

3 回答 3

1

请看看这个线程,它会帮助你:

如何使用 ASIHTTPRequest (ASYNC) 跟踪下载进度

于 2013-03-19T07:54:25.390 回答
0

这是最适合您的自定义控制器。

UIActivityIndicator您可以从此链接找到它的自定义

https://github.com/jdg/MBProgressHUD

这些不是苹果特定的控件。此 MBProgressHUD 控件由下面描述的三个控件组成。

  • UIImageView与图像的 背景。
  • UIActivityIndicatory
  • UILabel与您想要显示的任何消息。

MBProgressHUD是一个 iOS 插件类,它在后台线程中完成工作时显示带有指示器和/或标签的半透明 HUD。HUD 旨在替代未记录的私有 UIKit UIProgressHUD 并具有一些附加功能.......
有关更多信息,请转到上面的链接

于 2013-03-19T06:28:17.740 回答
-1

最简单的你可以提醒一个 UIProgressView 和 int 你可以设置进度值的委托,例如:

- (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;
}
于 2013-03-19T06:40:50.047 回答