繁体   English   中英

从vb.net代码在sql server 2008中上传图像文件时卡住

[英]stuck while uploading an image file in sql server 2008 from vb.net code

好的,所以这是我从本网站使用的代码。 一切正常,但是我需要一些不同的代码来上传图像,并且我不知道该怎么做-这是代码-

Private Sub btnAttach_Click(ByVal sender As System.Object, _ 
ByVal e As System.EventArgs) Handles btnAttach.Click 
    Dim iLength As Integer = CType(File1.PostedFile.InputStream.Length, Integer) 
    If iLength = 0 Then Exit Sub 'not a valid file 
    Dim sContentType As String = File1.PostedFile.ContentType 
    Dim sFileName As String, i As Integer 
    Dim bytContent As Byte() 
    ReDim bytContent(iLength) 'byte array, set to file size 

    'strip the path off the filename 
    i = InStrRev(File1.PostedFile.FileName.Trim, "\") 
    If i = 0 Then 
        sFileName = File1.PostedFile.FileName.Trim 
    Else 
        sFileName = Right(File1.PostedFile.FileName.Trim, Len(File1.PostedFile.FileName.Trim) - i) 
    End If 

    Try 
        File1.PostedFile.InputStream.Read(bytContent, 0, iLength) 
        With cmdInsertAttachment 
            .Parameters("@FileName").Value = sFileName 
            .Parameters("@FileSize").Value = iLength 
            .Parameters("@FileData").Value = bytContent 
            .Parameters("@ContentType").Value = sContentType 
            .ExecuteNonQuery() 
        End With 
    Catch ex As Exception 
        'Handle your database error here 
        dbConn.Close() 
    End Try 
    Response.Redirect(Request.Url.ToString) 'Refresh page

End Sub 

一切正常,除非涉及到这部分-

    With cmdInsertAttachment 
        .Parameters("@FileName").Value = sFileName 
        .Parameters("@FileSize").Value = iLength 
        .Parameters("@FileData").Value = bytContent 
        .Parameters("@ContentType").Value = sContentType 
        .ExecuteNonQuery() 
    End With 

我没有这些参数。 我在SQL Server表中只有1个字段,表示Img并具有图像数据类型。 我如何使用此代码使用此插入语句在db中获取我的图像? 插入table1(img)值(???)

考虑将表更改为具有FileName,FileSize,FileData和ContentType字段。

如果您确实不希望将名称,大小和内容类型存储在数据库中,则可以更改

With cmdInsertAttachment 
    .Parameters("@FileName").Value = sFileName 
    .Parameters("@FileSize").Value = iLength 
    .Parameters("@FileData").Value = bytContent 
    .Parameters("@ContentType").Value = sContentType 
    .ExecuteNonQuery() 
End With 

With cmdInsertAttachment 
    .Parameters("@Img").Value = bytContent 
    .ExecuteNonQuery() 
End With 

并在对cmdInsertAttachment存储过程进行了适当的编辑之后,该存储过程应该获取表中的数据。 不过,任何人都可以猜测之后可以使用它的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM