質問

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

ユーザーにライブラリから画像を選択させ、その画像をNSDataタイプに変換する機能が必要です。その後、HTTP getを介して.NET C#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)

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

よろしく

役に立ちましたか?

解決

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

NSこの画像データをWebサービスにアップロードするように聞こえるので、ここでGETメソッドを使用する理由がわかりません-POSTを使用する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top