0

この質問が何度か聞かれたことは承知していますが、自分の状況に最も適した明確な答えを見つけることができませんでした。

ユーザーがライブラリから画像を選択して、その画像がNSDataタイプに変換されるようにする機能が必要です。次に、HTTPgetを介して.NETC#Webサービスを呼び出す必要があるため、理想的には、結果の文字列をUTF8でエンコードする必要があります。

これは私がこれまでに持っているものです:

NSData *dataObj = UIImageJPEGRepresentation(selectedImage, 1.0);
    [picker dismissModalViewControllerAnimated:YES];
    NSString *content =  [[NSString alloc] initWithData:dataObj encoding:NSUTF8StringEncoding];
    NSLog(@"%@", content);

NSLogステートメントは、単に次のように出力を生成します。

2009-11-29 14:13:33.937 TestUpload2[5735:207] (null)

明らかに、これは私が達成したいと思っていたものではないので、どんな助けも素晴らしいでしょう。

敬具

4

1 に答える 1

2

任意のバイナリデータからUTF-8でエンコードされた文字列を作成することはできません。データは、実際にはUTF-8でエンコードされている必要がありますが、JPEG画像のデータは明らかにそうではありません。バイナリデータは文字列を表していないため、そこから文字列を直接作成することはできません-[NSString initWithData:encoding:]。この場合、適切に失敗します。

NSURLConnectionを使用していると仮定すると(他のメソッドについても同様のステートメントが当てはまるはずですが)、NSMutableURLRequestを作成-setHTTPBody:し、NSDataオブジェクトを渡す必要があるものを使用します。この画像データをWebサービスにアップロードするように思われるため、ここでGETメソッドを使用する理由がわかりません。POSTを使用する必要があります。

于 2009-11-29T16:01:50.073 に答える