Hej!
Jag har en bilduppladdnings funktion som inte gör som jag vill. Det blir dubbla rader i databasen samt att filnamnet på thumben inte följer med, har inte lyckats klura ut hur jag plockar fram det.
Vad är galet?
/Tomas
Protected Sub PictureUploadButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles PictureUploadButton.Click
If PictureUpload.HasFile Then
Dim image As System.Drawing.Image = System.Drawing.Image.FromStream(PictureUpload.PostedFile.InputStream)
' save orginal image
Dim fileName As String = Path.Combine(Server.MapPath("~/Uploads"), PictureUpload.FileName)
If File.Exists(fileName) Then
File.Delete(fileName)
End If
image.Save(fileName)
Dim uplImg As String
uplImg = PictureUpload.FileName
' create thumbnail
Dim w As Single = image.PhysicalDimension.Width
Dim h As Single = image.PhysicalDimension.Height
Dim s As Single = Math.Max(h, w) ' pick the larger side
Dim r As Single = IIf(s <= 64, 1.0, 64 / s) ' max width or height is 64 pixels
' scale the dimensions
w *= r
h *= r
Dim thumb As System.Drawing.Image = image.GetThumbnailImage(w, h, AddressOf DoNothing, 0)
' save the thumbnail
fileName = Path.Combine( _
Server.MapPath("~/Uploads"), _
String.Format("{0}_thm{1}", _
Path.GetFileNameWithoutExtension(PictureUpload.FileName), _
Path.GetExtension(PictureUpload.FileName) _
) _
)
If File.Exists(fileName) Then
File.Delete(fileName)
End If
thumb.Save(fileName)
Dim uplImgThmb As String
uplImgThmb = PictureUpload.FileName
' Spara till DB
Dim strConnectionString As String
Dim strQuery As String
Dim MyConnection As OdbcConnection
Dim myCommand As OdbcCommand
strConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=****; DATABASE=*****; UID=*****; PASSWORD=*****; OPTION=3"
MyConnection = New OdbcConnection(strConnectionString)
MyConnection.Open()
strQuery = "INSERT INTO tbl_uplImg(imgName, imgThumb) VALUES (?, ?)"
myCommand = New OdbcCommand(strQuery, MyConnection)
myCommand.Parameters.AddWithValue("?", uplImg)
myCommand.Parameters.AddWithValue("?", uplImgThmb)
myCommand.ExecuteNonQuery()
MyConnection.Close()
Else
lblUpload.Text = ("Ingen bild uppladdad!")
End If
End Sub