1

画像バイト データ ( .jpg) を iOS デバイスに送信する Web サービスがあります。iOS デバイスはそのデータを.jpgそのまま保存し、ローカル ファイル システムに保存すると、iOS デバイスでファイルを開こうとすると「破損したファイル」というメッセージが表示されるため、ファイルを開くことができません。このメッセージの詳細は関係ありません。

私は Web サービスを開発している .NET 開発者です。私は Objective C について何も知りません。別の開発者がそれを扱っています。

質問: 私が知る必要があるのは、iOS デバイスがバイト データが特定の方法でエンコードされることを期待しているかどうか、それが Base64 文字列である必要があるかどうかなどです。バイト データを介してファイルを送信するための規則が何であるかわかりません。 iOS デバイスに。どんな助けでも大歓迎です。

4

1 に答える 1

2

そこにいましたが、iOS側です。この問題を解決するために私たちがしたことは、あなたが言ったように、.NET サーバーに画像を base64 でエンコードされた文字列として送信させることでした。

iOS 側では、開発者は base64 デコード クラスを使用する必要があります (インターネットにはたくさんあります。たとえば、次のようなものです: http://www.imthi.com/wp-content/uploads/2010/08/base64.zip )、それを NSData に変換し、そのデータでイメージを作成します。

次のようになります。

NSString *b64string = @"string to decode";
NSData *imgData = [DecoderClass decodeBase64FromString:b64String];
UIImage *image = [UIImage imageWithData:imgData];

データが正しければ、動作するはずです。UIImage は高レベルのクラスであり、データが一貫している限り、画像タイプ (jpg、png など) を自動的に処理する必要があります。

于 2013-08-15T21:35:53.457 に答える