2010-12-13 6 views
0

私が使用する製品は、レターエクスプレス(差し込み印刷)テンプレートをBLOB(またはCLOB ...今は思い出せません)として保存しています。 Googleでは、この商品のAPIを使用して、この書簡を明示してメールを送信しています。System.Byte []から文字列への変換に失敗しました

ここでは、電子メールの内容をキャプチャして、別のフィールドに保存したいと考えています。 APIは、テンプレートを持つLetterExpress.WordDocumentプロパティを提供します。しかし、これはbyte[]です。

これを文字列オブジェクトに取得しようとしています。そのため、プレースホルダを作成して別のフィールドに格納することができます。

これは私が試したコードです。 'System.Text.Encoding.GetString(バイト[])' の

最良のオーバーロードされたメソッドの試合を次のように

System.Text.Encoding.ASCII.GetString(LetterExpress.WordDocument) 

しかし、私はエラーを取得する は、いくつかの無効な引数を持ってい

なぜこのエラーが発生しますか?

LetterExpress.WordDocumentで使用されているエンコーディングはどうすればわかりますか?または、それを文字列に変換できる汎用メソッドがありますか?

+0

テンプレートに_text_を含む文字列を取得しようとしていますか? –

+0

@マークアベニウス:はい、まさに私たちが試みていることです。 – Kanini

+0

私はエンコーディングを指定する必要があると思いますが、エラーはWordDocument自体のデータ型に関連しているようです。たぶんLetterExpress.WordDocument.GetBytesがありますか?免責事項:LetterExpressには一度も取り組まなかった –

答えて

3

LetterExpress.WordDocumentと思われるプロパティがbyte[]であるため、実際にはこのエラーは発生していません。そのプロパティのタイプが実際にあなたが思っているものであることを確認します。

+0

私はそれがおそらく配列のいくつかの部分が無効なASCII文字であるバイト配列であると思います。 –

+1

LetterExpressはフィールドや変数ではなく、クラスの名前です。 – jeroenh

+0

@Joelそれなら、私は署名の一致の苦情を得ることを期待しません。 –

1

これは実際の.docファイルのように聞こえますが、.docファイルは単なる文字列エンコーディングよりもはるかに複雑です。単語文書からテキストを抽出する場合は、Aspose Toolsのようなものが必要です。これを行う能力は、フレームワークに組み込まれていません。あなたが使用できるSystem.Text.Encodingはなく、これを行うことができる.Netを含む一般的な方法はありません。

+0

ありがとう、私はこれを見てみましょう。 – Kanini

+0

彼はコンパイラエラーを受けているので、内容に関連付けることはできません... – jeroenh

関連する問題