Asp.Net 4、C#、Oracle 11g
こんにちは。htmlファイルの内容をOracleCLOB列に保存しようとしています。htmlファイルはasp:Uploadボタンを介してサーバーにアップロードされます。ほとんどの場合正常に動作しています。問題は、ボタンのFileContentプロパティのストリームのバイト数が奇数であり、clob列のWriteメソッドが例外をスローして偶数が必要であることを示していることです。バイトの
どうすればこの問題を解決できますか?HTMLファイルのバイト数を偶数にするためにできることはありますか?HTMLファイルはUTF8としてエンコードされ、エンコードを変更するとバイト数が変更されますが、それでも偶数です。
前もって感謝します
編集:今のところ、ストリームの長さが奇数の場合はバッファのサイズを1増やしてから、ストリームをそれ自体の長さでバッファに書き込み、デフォルトで最後のバイトをバッファに書き込みます。バッファ。この方法で行う際の潜在的なエラーについてアドバイスしてください。
var buffer = new byte[(stream.Length % 2 > 0? stream.Length + 1: stream.Length)];
stream.Read(buffer, 0, (int)stream.Length);
clob.Write(buffer, 0, buffer.Length);
再度、感謝します
編集:以前の解決策は機能しませんでした。新しいアプローチは、ストリームを文字列に渡し、文字列の最後にスペースを追加してから、再度ストリームに変換することで構成されます。今までは問題なく動作しています。申し訳ありませんが、コードを投稿できません...StackOverflowのコードに4つのスペースがあるというこのポリシーを克服する方法がわからなかっただけです。