【发布时间】:2013-01-08 16:54:26
【问题描述】:
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 个空格的政策
【问题讨论】: