Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Eliminare File in una cartella

    Ragazzi ho scritto questa routine per eliminare tutti i file contenuti in una cartella (e poi la cartella stessa), ma mi dice che "è impossibile eliminare il file perchè è già in uso da un altro processo"...

    Bho! Non capisco se il problema è legato al codice che ho scritto o se invece può dipendere da altro. Qualcuno saprebbe aiutarmi?

    Grazie.


    codice:
    
            If Directory.Exists(strDirectoryFoto) Then
                
                Try
                
                    ' Elimina File nella DIrectory
                    Dim MyDirectory As System.IO.DirectoryInfo = New System.IO.DirectoryInfo(strDirectoryFoto)
                    Dim Files As System.IO.FileInfo() = MyDirectory.GetFiles
                    
                    Dim FileCount As Integer = 0
                    While FileCount < Files.Length
                
                        Dim strNomeFile As String = Files(FileCount).Name.ToString
                        Dim strPathNomeFile As String = PathFisico & PathFotoNews & "\" & strNomeFile
    
                        File.Delete(strPathNomeFile)
                        
                        System.Math.Min(System.Threading.Interlocked.Increment(FileCount), FileCount - 1)
    
                    End While
                
                    ' Elimina Directory
                    Directory.Delete(strDirectoryFoto)
                
                Catch ex As Exception
                    
                    MessageBox.Show(ex.Message)
                    
                End Try
                
            End If
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  2. #2
    Dava un problema simile anche a me, prima di questa operazione che cos'altro fai?

  3. #3
    Dunque ho fatto un sistema di upload di immagini da associare alle news. Una volta eseguito l'upload premendo il tasto ok si ritorna alla pagina dove con un sistema di GridView annidate faccio visualizzare tutte le news e le immagini associate ad esse (questo perche' per ogni news posso inserire quante immagini voglio).

    Quindi in sostanza la cancellazione delle immagini e' contestuale all'eliminazione di una news dall'elenco.

    Ti viene in mente niente?

    Qualcuno mi ha suggerito di eliminare direttamente la cartella mettendo a true la proprieta' che riguarda l'eliminazione delle cartelle con dei file dentro:

    Dim MyDirectory As New DirectoryInfo(“path_ to_directory”)
    If MyDirectory.Exists Then MyDirectory.Delete(True)

    Devo ancora provare, pero' vorrei poter gestire l'eliminazione dei singoli file, quindi a prescindere che in questo modo risolvo vorrei capire come correggere l'errore!

    Grazie.
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ho dovuto penare con le immagini . Se si aprono bisogna sempre e comunque fare un dispose, altrimenti saranno sempre in uso e non si possono cancellare.
    Pietro

  5. #5
    Anche a me fanno penare. :master:
    Provero' a seguire il tuo consiglio e ti faccio sapere. Grazie mille.

    Igor

    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Naturalmente hai già risolto. Ma vorrei sapere se:

    l'utente fa l'upload delle immagini nel server

    la tabella annidata fa vedere non le immagini, ma le miniature, magari create al volo, con la possibilità di ingrandirle cliccandoci sopra

    ???

    Pietro

  7. #7
    No non ho ancora risolto, e infatti stavo aspettando di fare le ultime prove prima di aggiornare il post!

    Per rispondere alle tue domande:

    - Si, l'utente fa l'upload delle immagini sul server. Classica procedura di upload. Questo pero' avviene su una pagina diversa da quella dove poi c'e' la procedura di eliminazione.

    - Il gridview delle immagini (annidato dentro il gridview principale) fa vedere proprio le immagini, nel senso che in questo ho messo un campo "ItempTemplate" popolato poi con un "Image" il cui url richiama quello delle immagini.

    Ti dice niente?

    Io stavo provando a fare quello che mi suggerivi, e cioe' un dispose delle immagini, ma non riesco a capire come fare il dispose di queste immagini create a runtime dentro il gridview in maniera automatica, cioe' non so proprio come "raggiungerle" per eseguirne il dispose. Pensavo anzi di fare il dispose della gridview intera, ma anche qui non so come fare perche' questa viene creata su ogni riga della gridview padre... e mi sono perso qua!

    Sai suggerirmi qualcosa a proposito? Sto abbandonando l'idea di cancellare le immagini sul server ed eseguire l'eliminazioen solo a livello di DB, ma a parte lo spazio occupato (che e' comunque gratuito) e' la programmazione "sporca" che non mi piace...

    ... sono impantanato ...
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    sinceramente non so che dirti. Io ho un esempietto, più semplice

    salvo l'immagine ricevuta in una directory

    creo la miniatura nella stessa directory

    visualizzo la miniatura



    se provo a cancellarle ci riesco

    uso
    this.FileUpload1.PostedFile.SaveAs(strPercorsoFile UploadFile);
    per salvare il file

    la miniatura la vedo perchè valorizzo la proprietà ImageUrl di una img
    Pietro

  9. #9
    sob....

    GRAZIE
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.