0

iPhoneからサーバーにキャプチャ画像を保存しようとしています。私はXcodeでやった。コードのような

NSMutableURLRequest  *request= [NSMutableURLRequest requestWithURL:url];

[request setHTTPMethod:@"POST"];

NSString *boundary = @"---------------------------14737809831466499882746641449";

NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];

[request addValue:contentType forHTTPHeaderField: @"Content-Type"];

NSMutableData *body = [NSMutableData data];

[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: attachment; name=\"%@\" filename=\"Test.png\"\r\n", imgName] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];
[body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];

[request setHTTPBody:body];

NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:request delegate:delegate];

今、私はモノタッチで試して、

ここで接続を作成し、リクエストを送信してレスポンスを受信すると正常に動作します。

しかし、ここでは、ヘッダーと本文を NSMutableURLRequest に設定する方法がわかりません。パラメーターを渡す方法を知る必要があるだけです (上記の Xcode など)。

NSMutableUrlRequest request = new NSMutableUrlRequest(new NSUrl("http://url.com"), NSUrlRequestCachePolicy.ReloadRevalidatingCacheData, 20);
request.HttpMethod = "POST";

var connectionDelegate = new TestNSURLConnectionDelegate();
var connection = new NSUrlConnection(request, connectionDelegate);
connection.Start();

誰でもこれを手伝ってもらえますか...

4

1 に答える 1

0

System.Net を使用して HttpWebRequest にアクセスします。

URLに投稿するだけです..画像のバイト[]をリクエストの本文に書き込むだけです。

私の例では.. ServiceBase 値は静的文字列にマップされ、「Service.SubmitImage」はサービス メソッド エンドポイントを指す静的文字列です。

 public void SubmitImage(byte[] image)
    {
        var request = WebRequest.Create(ServiceBase + Service.SubmitImage);
        request.Method = "POST";
        request.ContentType = "application/octet-stream";
        request.ContentLength = image.Length;
        Stream str = request.GetRequestStream();
        str.Write(image, 0, image.Length);
        str.Close();
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    }
于 2013-08-20T15:41:24.290 に答える