0

タスクの 75% を正常に完了しました。主な問題は画像のアップロードです。接続は確立されていますが、エンコード データをアップロードできません。ここでは、このようにコードを記述しています。

UIImage *naveen = [UIImage  imageWithData: [NSData dataWithContentsOfURL:[NSURL  

URLWithString:@"http://www.watblog.com/wp-content/uploads/2011/11/b.jpg"]]];

myimages.image=naveen; 

上記のコードを使用して、画像を正常にロードします。

私が書いた上記のコードはロードメソッドを実行しました。

その後、私はIBActionを取り、コードの下に書きます

NSData *imageData = UIImageJPEGRepresentation(myimages.image, 90);

NSString *encodedImage = [Base64 encode:imageData];

NSLog(@"my encoded image is 6666%@",encodedImage);

//ここで、エンコードされた画像データを取得しています

それも成功

NSString *urlString = @"http://192.168.1.105:9966/PC/store";


NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];

    [request setURL:[NSURL URLWithString:urlString]];

    [request setHTTPMethod:@"POST"];


NSString *boundary = [NSString stringWithString:@"--------------------------

-14737809831466499882746641449"];

NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; 

boundary=%@",boundary];


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

 NSMutableData *body = [NSMutableData data];

[body appendData:[[NSString stringWithFormat:@"rn--%@rn",boundary] 

dataUsingEncoding:NSUTF8StringEncoding]];


  [body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; 

name=\"encodedImage\"; filename=\"http://www.watblog.com/wp-

content/uploads/2011/11/b.jpg\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];


[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-streamrnrn"] 

dataUsingEncoding:NSUTF8StringEncoding]];

    [body appendData:[NSData dataWithData:imageData]];

    [body appendData:[[NSString stringWithFormat:@"rn--%@--rn",boundary] 

dataUsingEncoding:NSUTF8StringEncoding]];

[request setHTTPBody:body];

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil 

error:nil];

NSString *returnString = [[NSString alloc] initWithData:returnData 

encoding:NSUTF8StringEncoding];

NSLog(returnString);

}

上記のコードを実行するたびに、戻り文字列は

最終[3077:f803]

html>Apache Tomcat/6.0.35 - エラー レポート

family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2

{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}

H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-

size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B

{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-

family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color :

黒;}A.name {color : black;}HR {color : #525D76;}-->

HTTP ステータス

404 - /PC/ストア

タイプ ステータス レポート

メッセージ/PC/ストア

説明要求されたリソース

(/PC/ストア) は利用できません。

アパッチ

トムキャット/6.0.35

エンコードされたデータを渡す方法を誰か助けてください

私はiPhoneプログラミングの初心者です

4

1 に答える 1

0

これは、バックエンドサーバーの問題のようです。他の方法でファイルをアップロードしてみてください-つまり、単純なHTMLフォームから。

これは手がかりではないかもしれませんが、ファイル名に完全なURLを使用しているのはなぜですか?

[body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"encodedImage\"; filename=\"http://www.watblog.com/wp-content/uploads/2011/11/b.jpg\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
于 2012-04-15T11:07:40.047 に答える