0

電子メールに関連付けられた添付ファイルを取得するために、標準の Java javax.mail.internet.MimePartDataSource.getInputStream を使用しています。私が直面している問題は次のとおりです。

the size of the file attached is 10950 bytes(excel). The size of file i get using MimePartDataSource is 14810 bytes.

最後の余分な文字を削除して開こうとすると、正常に動作します。しかし、余分なバイトを削除せずに開こうとすると、「ファイルを回復したいですか?」というポップアップが生成されます。はいと言うと、うまくいきます。

私は Excel と pdf でこの問題に直面していました。そこに光を入れてみませんか?

ありがとう、アリンダム

4

2 に答える 2

0

おそらく available() メソッドを使用して、保存するデータの量を決定しています。それはうまくいきません。JavaMail FAQで説明されている方法を使用してください。

于 2012-10-09T17:09:00.743 に答える
0

私はこの問題に対処するために別のアプローチを使用しており、成功しました。以前は getInputStream を使用していましたが、何らかの方法でデコードした後に余分なデータを追加していました.今、 getRawInputStream を使用してデータをフェッチし、それを明示的にデコードして、実際の添付ファイルを保持しています。

于 2012-10-10T14:15:16.643 に答える