Asp.Net 4、C#、Oracle 11g
嗨,我正在尝试将 html 文件的内容保存到 Oracle CLOB 列。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 个空格的政策