Questo il codice per l'upload, mentre la delete avviene come già descritto:

codice:
    Protected Sub upload_Click(sender As Object, e As EventArgs) Handles upload.Click
        Try
            Dim save_path As String = Server.MapPath("../Images/Ostelli/") & Request("id")
            If Not Directory.Exists(save_path) Then
                Directory.CreateDirectory(save_path)
            End If
            FileUpload1.SaveAs(save_path & "/" & FileUpload1.FileName)
            common_utility.ResizeImmagini(save_path & "/" & FileUpload1.FileName, save_path & "/" & FileUpload1.FileName, 500)
            RefreshFoto()
        Catch ex As Exception

        End Try
    End Sub

    Public Sub ResizeImmagini(fileName As String, outputFileName As String, MaxWidth As Integer)
        Dim originale As Image = Image.FromFile(fileName)

        'se l'originale ha una larghezza minore della larghezza massima preimpostata mantengo le originali 
        If originale.Width <= MaxWidth Then
            Exit Sub
        End If

        'calcolo rapporto fra larghezza e altezza
        Dim ratio As Single = CSng(originale.Height) / CSng(originale.Width)

        'Calcolo la nuova altezza
        Dim newHeight As Integer = CInt(Math.Truncate(MaxWidth * ratio))

        'Creo la nuova bitmap
        Dim temp As New Bitmap(MaxWidth, newHeight, originale.PixelFormat)
        Dim newImage As Graphics = Graphics.FromImage(temp)
        newImage.DrawImage(originale, 0, 0, MaxWidth, newHeight)

        'verifico che esista un fie nel percorso di salvataggio, nel caso lo cancello
        originale.Dispose()
        newImage.Dispose()
        If System.IO.File.Exists(outputFileName) Then
            System.IO.File.Delete(outputFileName)
        End If

        'Salvo the bitmap
        temp.Save(outputFileName)
        temp.Dispose()

    End Sub