Rya*_*n S 0 c# asp.net oracle11g
我有以下代码上传图像:
FileUpload uniformItemImageFileUpload = uniformItemsGrid.FooterRow.FindControl("UniformImageInsert") as FileUpload;
byte[] itemBytes = uniformItemImageFileUpload.FileBytes;
Run Code Online (Sandbox Code Playgroud)
以下是绑定到数据库:
OracleParameter itemImageParameter = new OracleParameter("itemImage", OracleDbType.Blob, 4000);
itemImageParameter.Value = itemImageBytes;
oraCommand.Parameters.Add(itemImageParameter);
Run Code Online (Sandbox Code Playgroud)
我有一个问题,当通过这种机制上传图像时,它不存储该图像的所有二进制数据,但如果它是大于4kb的图像,它只存储它的一部分.然而,问题不在于存储,因为blob的4000大小可以适合更大的文件,事实上如果我直接通过SQL Navigator上传它可以完全存储它,没有问题,但是,当试图上传它时通过代码映像,它不会存储所有内容.
有没有人遇到过这个问题?怎么修好?
您需要为OracleParameter指定Blob的大小,即
OracleParameter itemImageParameter = new OracleParameter("itemImage", OracleDbType.Blob, itemBytes.Length);
itemImageParameter.Value = itemImageBytes;
oraCommand.Parameters.Add(itemImageParameter);
Run Code Online (Sandbox Code Playgroud)
希望这会工作:)
| 归档时间: |
|
| 查看次数: |
424 次 |
| 最近记录: |