我正在使用此代碼上傳圖像。我已經將寫入權限授予存儲圖像的文件夾。以下是我的代碼:顯示在GDI + whle上傳圖像中發生的一般錯誤
Dim con As New System.Data.SqlClient.SqlConnection("Data Source=Biplob-PC\SQLEXPRESS; database =a;Integrated Security=True")
Dim smemberid As Integer
Dim photoid As Integer
Sub bindphoto()
'What directory are we interested in?
Dim mycommand As New SqlCommand("SELECT * FROM Photo WHERE MemberID = '" & smemberid & "' ORDER BY PhotoID", con)
con.Open()
dlFileList.DataSource = mycommand.ExecuteReader
dlFileList.DataBind()
con.Close()
End Sub
Sub memberid()
Dim cmd As New SqlCommand("SELECT MemberID From Memberlist WHERE UserName = '" & Session("uName") & "'", con)
Dim r As SqlDataReader
con.Open()
r = cmd.ExecuteReader
If r.HasRows Then
r.Read()
smemberid = r("MemberID").ToString
End If
r.Close()
con.Close()
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
If flupload.HasFile = False Then
Label1.Text = "Please select a picture from your computer"
Exit Sub
End If
If flupload.FileName.GetType.ToString = "jpg" Then
Label1.Text = "Hurrey"
Exit Sub
End If
'Has the file been uploaded properly?
If Not flupload.PostedFile Is Nothing Then
'Save the filename if it has a filename and exists...
Dim imageToBeResized As System.Drawing.Image = System.Drawing.Image.FromStream(flupload.PostedFile.InputStream)
Dim imageHeight As Integer = imageToBeResized.Height
Dim imageWidth As Integer = imageToBeResized.Width
Dim maxHeight As Integer = 98
Dim maxWidth As Integer = 98
imageHeight = (imageHeight * maxWidth)/imageWidth
imageWidth = maxWidth
Try
If flupload.PostedFile.FileName.Trim().Length > 0 And _
flupload.PostedFile.ContentLength > 0 Then
photoid = (New Random).Next
Dim objstream As Stream = flupload.PostedFile.InputStream
Dim objimage As System.Drawing.Image = System.Drawing.Image.FromStream(objstream)
If objimage.RawFormat.Equals(ImageFormat.Gif) Or objimage.RawFormat.Equals(ImageFormat.Jpeg) Or objimage.RawFormat.Equals(ImageFormat.Png) Then
Dim strBaseDir As New DirectoryInfo((Request.PhysicalApplicationPath) + "images\gallery\")
If imageHeight > maxHeight Then
imageWidth = (imageWidth * maxHeight)/imageHeight
imageHeight = maxHeight
End If
Dim bitmap As New Bitmap(imageToBeResized, imageWidth, imageHeight)
Dim stream As System.IO.MemoryStream = New MemoryStream()
bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg)
stream.Position = 0
Dim strFileName As String = _
Path.GetFileName(flupload.PostedFile.FileName)
bitmap.Save(((Request.PhysicalApplicationPath) + "images\gallery\thumbs\") & photoid & ".jpg")
bigimage()
'File has been saved!
Dim mycommand As New SqlCommand("Insert chairperson (memberid,name,period,achieve,imageurl,other) Values ('" & smemberid & "','" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & photoid & "','" & TextBox4.Text & "')", con)
con.Open()
mycommand.ExecuteNonQuery()
con.Close()
Label1.Text = "File has been successfully uploaded"
Else
Label1.Text = "Sorry, File format not supported."
End If
End If
Catch ex As Exception
Label1.Text = ex.Message
End Try
Else
Label1.Text = "<hr /><p>Enter a filename to upload!"
End If
End Sub
Sub bigimage()
Dim imageToBeResized As System.Drawing.Image = System.Drawing.Image.FromStream(flupload.PostedFile.InputStream)
Dim imageHeight As Integer = imageToBeResized.Height
Dim imageWidth As Integer = imageToBeResized.Width
Dim maxHeight As Integer = 450
Dim maxWidth As Integer = 450
imageHeight = (imageHeight * maxWidth)/imageWidth
imageWidth = maxWidth
Dim objstream As Stream = flupload.PostedFile.InputStream
Dim objimage As System.Drawing.Image = System.Drawing.Image.FromStream(objstream)
If objimage.RawFormat.Equals(ImageFormat.Gif) Or objimage.RawFormat.Equals(ImageFormat.Jpeg) Or objimage.RawFormat.Equals(ImageFormat.Png) Then
Dim strBaseDir As New DirectoryInfo((Request.PhysicalApplicationPath) + "images\gallery\")
If imageHeight > maxHeight Then
imageWidth = (imageWidth * maxHeight)/imageHeight
imageHeight = maxHeight
End If
Dim bitmap As New Bitmap(imageToBeResized, imageWidth, imageHeight)
Dim stream As System.IO.MemoryStream = New MemoryStream()
bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg)
stream.Position = 0
Dim strFileName As String = _
Path.GetFileName(flupload.PostedFile.FileName)
bitmap.Save(((Request.PhysicalApplicationPath) + "images\gallery\") & photoid & ".jpg")
End If
End Sub
Sub deleteg(ByVal s As Object, ByVal f As DataListCommandEventArgs)
Dim photographid As String
photographid = dlFileList.DataKeys.Item(f.Item.ItemIndex).ToString
Dim mycommand As New SqlCommand("DELETE FROM Photo WHERE PhotoID = '" & photographid & "'", con)
con.Open()
mycommand.ExecuteNonQuery()
con.Close()
bindphoto()
Label1.Text = "File has been deleted succefully"
End Sub