将截断字符串或二进制数据的解决,

ygeneral 2005-10-28 09:46:41
各位高手:
我用ASP.NET上传到SQL server一个比较大的文件的时候,提示将截断字符串或二进制数据的解决,然后终止运行。
我的数据库设制的字段为Image类型的。
文件无论多大,都会出现这个问题。
我把code粘贴到此处,请高手帮帮小忙。谢谢。
Private Sub But_Send_ServerClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles But_Send.ServerClick
Dim FileStream As Stream
Dim FileLen As Integer
Dim FileName_Value As String
Dim FileContentType As String
Dim FileUploadedName As String

Dim myFile As HttpPostedFile = File1.PostedFile
FileLen = myFile.ContentLength
FileStream = myFile.InputStream
FileLen = myFile.ContentLength
FileUploadedName = myFile.FileName
Dim FileBinaryData(FileLen) As Byte
FileContentType = myFile.ContentType
FileName_Value = File1.Value
Try
If FileName_Value.Length < 1 Then
FileName_Value = GetLastRightOf("\", FileUploadedName)
End If
Catch ex As Exception
FileName_Value = GetLastRightOf("\", FileUploadedName)
End Try

Dim n As Integer
n = FileStream.Read(FileBinaryData, 0, FileLen)
Dim NumRowsAffected As Integer = MyDatabaseMethod(FileName_Value, FileBinaryData, FileContentType)
If NumRowsAffected > 0 Then
Response.Write("<br>,OK!")
Else
Response.Write("<br>,NO!")
End If
End Sub
'获取文件路径
Function GetLastRightOf(ByVal LookFor As String, ByVal myString As String) As String
Dim StrPos As Integer
StrPos = myString.LastIndexOf(LookFor)
Return myString.Substring(StrPos + 1)
End Function
'连接数据库,保存文件
Function MyDatabaseMethod(ByVal Filename As String, ByVal FileBin As Byte(), ByVal FilecontentType As String) As Integer
Dim Connection As New SqlConnection(sqlconnString())'连接字符串
Dim Command As New SqlCommand("INSERT INTO YLPM_accessory(项目代码,附件名,合同附件,附件类型) VALUES(@项目代码,@附件名,@合同附件,@附件类型)", Connection)

Dim ItemCode As SqlParameter = New SqlParameter("@项目代码", SqlDbType.NVarChar, 50)
ItemCode.Value = Trim(name.Text)
Command.Parameters.Add(ItemCode)
Dim Param0 As SqlParameter = New SqlParameter("@附件名", SqlDbType.NVarChar, 50)
Param0.Value = Filename
Command.Parameters.Add(Param0)
Dim Param1 As SqlParameter = New SqlParameter("@合同附件", SqlDbType.VarBinary, 8000)
Param1.Value = FileBin
Command.Parameters.Add(Param1)
Dim Param2 As SqlParameter = New SqlParameter("@附件类型", SqlDbType.Char, 10)
Param2.Value = FilecontentType
Command.Parameters.Add(Param2)
Connection.Open()
Command.ExecuteReader()
'Command.ExecuteNonQuery()
Connection.Close()
End Function
'获取连接字符串
Private Function sqlconnString() As String
Dim myDSN As String = CType(Application("connectstring"), String)
Return myDSN
End Function
...全文
673 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧