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コントロールは、以下で説明する3つのコントロールで構成されています。

  • 画像の背景UIImageView
  • UIActivityIndicatory
  • UILabel表示したいメッセージが何であれ。

MBProgressHUDは、バックグラウンドスレッドで作業が行われている間、インジケーターやラベル付きの半透明のHUDを表示するiOSドロップインクラスです。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 に答える