更新:
私は、iOS が生成していた base64 文字列を取得し、Web サイトを介してバイナリ ファイルにデコードしました。画像は適切にエンコードされたようです。
私の問題は、物事のレール側にあります。次のコードを使用して画像を表示していますが、壊れた画像を表示しているだけです。
<td><%= ('<img src="data:image/jpg;base64,%s">' % Base64.encode64(user.imagestring)).html_safe %></td>
JSONを介してWebサービス(Postgresqlを使用するRails)に送信するbase64文字列をエンコードしようとしています。UIImage を NSData に変換し、現在 base64 文字列に変換しています。
新しいbase64EncodedStringWithOptions
方法を使用しています。長い文字列に変換されますが、私の Web サービスでは画像が壊れているように見えます。
画像を base64 コンバータ Web サイトにアップロードしたところ、わずかに異なる文字列が返されました。
問題は iOS エンコーダーにあるのでしょうか、それとも何か間違っているのでしょうか?
UIImage *image = [UIImage imageNamed:@"image.png"];
NSData *imageData = UIImagePNGRepresentation(image);
NSString *blob = [imageData base64EncodedStringWithOptions:0];