Jag håller på att utveckla en funktion där användaren kan ladda upp en bild som servern automatiskt ska göra en mindre variant av och sedan ta bort sden "stora" bilden. Problemet är att jag inte kan ta bort den gamla bilden eftersom det finns en process. Alternativet är att skriva över den gamla bilden med den mindre men det vet jag inte hus jag ska göra. Koden ser ut så här. Du måste anropa dispose på den bitmap som läser filen innan du kan ersätta filen.Skriva över fil på servern
<code>
If Not (UploadFile.PostedFile Is Nothing) Then
Dim FilePath As String = UploadFile.PostedFile.FileName
Dim FileSize As Long = UploadFile.PostedFile.ContentLength
Dim FileName As String = System.IO.Path.GetFileName(FilePath)
Try
UploadFile.PostedFile.SaveAs(Server.MapPath("bilder/" + FileName))
Response.Write("Filen sparades som: bilder/" & FileName & "<br>")
Response.Write("Filens storlek: " & FileSize & "kb")
''--THUMBNAIL----------------------
Dim bm As Bitmap = System.Drawing.Image.FromFile(Server.MapPath("bilder/" & FileName))
Dim newWidth As Integer = 90
Dim newHeight As Integer = (newWidth / bm.Width) * bm.Height
'Create the new image as a blank bitmap
Dim resized As Bitmap = New Bitmap(newWidth, newHeight)
'Create a new graphics object with the contents of the origional image
Dim g As Graphics = Graphics.FromImage(resized)
'Resize graphics object to fit onto the resized image
g.DrawImage(bm, New Rectangle(0, 0, resized.Width, resized.Height), 0, 0, bm.Width, bm.Height, GraphicsUnit.Pixel)
'Get rid of the evidence
g.Dispose()
'Create new path and filename for the resized image
'--Ger den nya filen ett nytt namn eftersom det inte går att skriva över--
Dim newStrFileName As String = "bilder/" & "T_" & FileName
'Save the new image to the same folder as the original
'--Här vill jag kunna skriva över den gamla filen istället för att skapa en ny fil--
resized.Save(Server.MapPath(newStrFileName), ImageFormat.Jpeg)
Catch Exp As Exception
Response.Write("Ett fel uppstod<br>" & Exp.Message)
End Try
Else
Response.Write("Ingen fil skickades.")
end if
</code>Sv: Skriva över fil på servern
Du har för övrigt glömt att göra dispose på bägge bildobjekten.