我尝试从gridview下载文件..我在数据库中保存文件然后我在gridview中显示我试试这个
但这显示错误
类型' System.InvalidCastException'的例外情况发生在DecibelCRM.dll中但未在用户代码中处理
附加信息:无法转换类型为#System ;DBNull'的对象输入' System.Byte []'。
在这一行
Dim binary() As Byte = DirectCast(structDb.dstResult.Tables(0).Rows(i).Item("document"), Byte())
我的sp结果看起来像这样
documentid documentname DOCUMENT Docextension
43 Employment .pdf 0x255044462D312E330D25E2E3... .pdf
614 Information.xlsx 0xFFD8FFE12FFE4578696600004D... .xlsx
615 pdf.pdf 0x504B0304140006000... .pdf
616 IMG_0207.JPG 0x456dfghs70004.... .jpg
答案 0 :(得分:0)
使用TryCast
代替DirectCast
来避免此问题
Dim binary() As Byte = _
TryCast(structDb.dstResult.Tables(0).Rows(i).Item("documentname"), Byte())
有关为什么应该在此处使用TryCast的更多信息:Why use TryCast instead of DirectCast?