Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di crow
    Registrato dal
    Dec 2009
    Messaggi
    174

    Cancellare un file da una cartella

    Salve, ho realizzato un piccolo sito web dove inserisco dinamicamente delle news...
    l'inserimento, la modifica, la cancellazione di queste va benissimo, ho solo un problema in merito all'immagine..
    Praticamente ho fatto in modo che ad ogni inserimento news io carico l'immagine dall'esterno e quando clicco sul tasto salva, questa va a finire fisicamente in una cartella img che ho creato, ed allo stesso tempo il nome dell'immagine va a finire nel database così quando carica la pagina lui sa a quella notizia quale immagine corrisponde e se la a prendere da quella cartella..
    l'unico problema è quando elimino una notizia, in quanto le informazioni le elimino tranquillamente con una query
    Delete * from Tabella where cod = @Cod
    però ora devo trovare il modo di eliminare anche la foto appartenente alla notizia che si trova nella cartella img...
    avevo pensato di prendere il nome dell'immagine dal database e di metterlo in una variabile di appoggio per poi andare nella cartella img e dire elimina da questa cartella il file il cui nome sia quello contenuto nella variabile d'appoggio ma nn so come fare...
    qualcuno può aiutarmi oppure può indicarmi una via diversa.????
    cmq io uso il codice vbnet

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    è abbastanza semplice. Indicativamente:

    apro la connessione
    leggo la directory dove sta l'immagine e la metto in una variabile
    cancello il record
    chiudo la connessione
    elimino l'immagine dalla directory

    :master: dove sta il problema?

    Pietro

  3. #3
    Utente di HTML.it L'avatar di crow
    Registrato dal
    Dec 2009
    Messaggi
    174
    lo so pietro anche io penso di perdermi in un bicchier d'acqua...
    apro la connessione cancello il record dal database poi metto il nome dell'immagine contenuto nel database in una variabile d'appoggio, chiudo la connessione e poi la elimino dalla cartella che contiene tutte le immagini facendo kill (nome cartella, nome immagine)
    giusto???
    forse non capisco bene a cosa ti riferisci quando dici directory???

  4. #4
    Utente di HTML.it L'avatar di crow
    Registrato dal
    Dec 2009
    Messaggi
    174
    ora ti dico come ho fatto io...
    apro la connessione, metto in una variabile d'appoggio la seguente query :
    select Campofoto from Tabella where cod = @Cod
    dopo di che con una seconda query cancello il record
    a questo punto con la funzione kill voglio andare nella cartella dove ci sono tutte le foto e cancellare il file ma mi da errore, penso sia un errore di sintassi....io faccio così

    kill ("img/News/", Appoggio)

    come avrai capito il file si trova nella cartella img/News/Nomefile (il nome del file è contenuto nella variabile appoggio)

    in cosa sbaglio????

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da crow
    forse non capisco bene a cosa ti riferisci quando dici directory???
    Nel secolo scorso, ai tempi di MSDOS, esistefano files che venivano messi in directory.

    Noi italioti, che non amiamo la nostra lingua, non abbiamo pensato certo a tradurre... finchè non ci pensò la microsoft che, per venirci in aiuto, dato che non potevamo certo farlo da soli, ce lo tradusse con "cartelle". Per colmo dell'ironia, è pure una traduzione corretta

    Tornando al busillis (problema spinoso e di difficile soluzione , punto dolente della questione ) se ho un po' di tempo ti mando un po' di codice, ma ti posso assicurare che non ti serve, se solo lavori per gradi.

    Ad esempio, prova a leggere la directory che vuoi cancellare da database e cancellala. Se ci fossero problemi siamo qui

    ps. ma devi cancellare una intera directory con le sottodirectory o solamente uno o più files?

    Pietro

  6. #6
    Utente di HTML.it L'avatar di crow
    Registrato dal
    Dec 2009
    Messaggi
    174
    praticamente io su questo sito inserisco delle news e lo faccio da un area privata...ovvero inserisco il mio titolo e testo in due rispettive tex box e clicco su un tasto...al click ovviamente i contenuti delle text vanno a finire in due rispettivi campi del database i quali li mandano ad un datalist presente nella pagina del sito dove compariranno le news...
    il problema si pone con le foto, perchè quando devo modificare o cancellare, di conseguenza devo anche togliere la foto e non solo dal collegamento al database (in quanto la è impostato solo il nome del file immagine) ma soprattutto mi interessa eliminarlo da una cartella dove vanno a finire fisicamente tutte le foto, e la penso di utilizzare la funzione kill, ma come ti ho spiegato in precedenza non riesco

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Se hai memorizzato il path logico, usa

    Server.MapPath(path_logico) per ricavarti il path fisico

    poi utilizza

    File.Delete(path_fisico)

    per cancellare il file
    Pietro

  8. #8
    Utente di HTML.it L'avatar di crow
    Registrato dal
    Dec 2009
    Messaggi
    174
    quindi nel mio caso dove ho un database dove nel campo di nome "foto" c'è il nome della foto dovrei prima fare

    Server.MapPath(Session.item("Foto")) per ricavarmi il path fisico

    poi utilizzo

    File.Delete(Server.MapPath(Session.item("Foto")))

    per cancellare il file fisicamente (ti ricordo che tutte le immagini si trovano in una cartella "img" ed hanno ovviamente lo stesso nome del campo foto del database )????
    ho capito bene???

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.