2010-01-27 5 views
0

ok donc c'est le code que j'ai utilisé à partir de ce site. tout fonctionne bien, mais je besoin d'un peu de code différent pour télécharger l'image, et je ne sais pas quoi faire - est ici le code -coincé lors du téléchargement d'un fichier image dans SQL Server 2008 à partir de 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 

tout fonctionne bien, sauf en ce qui concerne cette partie -

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

Je n'ai pas ces paramètres. J'ai seulement 1 champ dans la table de serveur de sql qui indique Img et a le type de données d'image. comment puis-je utiliser ce code pour obtenir mon image en DB en utilisant cette instruction d'insertion? insérer dans les valeurs table1 (img) (???)

+0

Si vous affichez la structure de la table réelle, il sera beaucoup plus facile pour nous de répondre –

Répondre

0

Envisagez de remplacer votre table par les champs FileName, FileSize, FileData et ContentType.

Si vous ne voulez vraiment pas le nom, la taille et le type de contenu stocké dans la base de données, vous pouvez modifier

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 

Et après le montage approprié au cmdInsertAttachment procédure stockée qui devrait obtenir les données dans la table. Ce que vous pouvez en faire après, c'est ce que quelqu'un peut deviner.

Questions connexes