1

zipファイルをbase64でエンコードされた文字列に変換するときに、使用するMIMEサポートを使用してメールを送信するために必要な文字列

var encodedContent = Convert.ToBase64String(Encoding.ASCII.GetBytes(File.ReadAllText(zipFilePath)));

ただし、受け取った添付ファイルはすべて破損しています。base64エンコーディングが正しくないようです。誰でもこれについてアドバイスできますか?

4

1 に答える 1

1

File.ReadAllTextはtextを読み取るように設計されているため、エンコーディングを適用します (またオーバーロードはヒューリスティックを適用してエンコーディングを決定します)。これが、バイトを取得するために「エンコードを解除」する必要がある理由です。

このように異なるエンコーディングを適用すると、バイト ストリームが変更される可能性があります (これがエンコーディングのポイントです)。

File.ReadAllBytesに直接渡すことができるようなものを使用して、ファイルからバイトを直接読み取ることをお勧めしますToBase64String

于 2011-08-21T10:24:51.527 に答える