0

データをサーバーに渡し、そこにあるファイルをバイナリ データとしてデータベースに保存したいと考えています。

NSData *myData = [NSData dataWithContentsOfFile:pathDoc]; 
pathDoc = [NSString stringWithFormat:@"<size>%d</size><type>%d</type><cdate>%@</cdate><file>%c</file><fname>File</fname>",fileSizeVal,filetype,creationDate,myData];

これについて何か考えはありますか?

ありがとう、ミラン

4

3 に答える 3

1

このコードは意味がありません。

ファイルへのパスを指定して NSData オブジェクトを作成した後、向きを変えて、XML のチャンクを表す文字列をパス var に再​​割り当てします。非常に混乱しており、エラーが発生する可能性があります。このように変数を再利用しないでください。

いずれにせよ、データを文字列にエンコードするには、NSString を使用します。

- (id)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding

次に、その文字列を必要な場所に挿入します。

編集:

こんにちは、私のコードで (id)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding を使用する方法がわかりません。

そのように: (書式設定については申し訳ありませんが、Stackoverflow のエディターは今日点滅しているようです)

NSData *myData = [NSData dataWithContentsOfFile:pathDoc]; 
NSString *myDataString = [[NSString alloc] initWithData:myData encoding:NSUnicodeStringEncoding];
NSString *formatString = @"<size>%d</size><type>%d</type><cdate>%@</cdate><file>%c</file><fname>File</fname><data>%@</data>";
pathDoc = [NSString stringWithFormat:formatString,fileSizeVal,filetype,creationDate,myDataString];

NSUnicodeStringEncoding、さまざまな文字列エンコーディングを定義するいくつかの定数の 1 つです。NSString クラスのリファレンスを参照してください。どちらを使用するかは、サーバーが何を期待しているかによって異なります。

幸運を。

于 2010-03-19T14:33:33.240 に答える
1

XML ドキュメントにバイナリ データを埋め込む最も一般的な方法は、データを ASCII にエンコードすることです。たとえば、Base64 を使用します。

于 2010-03-19T14:57:33.397 に答える
0

オブジェクトのアーカイブを使用してシリアル化されたオブジェクトを作成し、それをサーバーに送信できるはずです。

于 2010-03-19T14:32:05.190 に答える