Ciao Ragazzi!

Stavolta ho un problema un pochino complesso:

In una pagina del sito di un cliente, ho messo dei campi che vanno a salvare i dati in un DB. In due dei campi però salvo il percorso e il nome dell'immagine associata al campo stesso (questi dati li prendo da un fileUpload).

Poi, per la cancellazione o modifica di questi campi (letti direttamente dal db) mi appoggio ad un datalist.

Fino a qui tutto funziona a dovere, tranne solo per una cosa:

In che modo posso cancellare l'immagine associata al campo dalla directory??

Le immagini vengono salvate in 'public/imgMaxi/nomefoto.jpg' e in 'pubic/imgMini/nomefoto.jpg'

So che forse devo usare un File.Delete ma il problema è che non so bene come....!

Ad esempio, questo è il codice che uso per la cancellazion dei record:
    protected void Cancella(object sender, EventArgs e)
    {
        LinkButton b = (LinkButton)sender;
        DbCatalogo.DeleteCommand = string.Format("DELETE FROM [Catalogo] WHERE [id] = {0}", b.CommandArgument);
        DbCatalogo.Delete();
}


Ed è qui dentro che vorrei inserire l'istruzione...

Grazie mille!


Modificato da ricardo78 il 04 febbraio 2009 21.27 -

Marina di Camerota OnLine
VicenzaSoftware:Creazione siti web
Forum Tecnologie
Ciao Ric@rdo,
Per eliminare un file dal disco utilizza:
System.IO.File.Delete(nome del file);

Per conoscere il path assoluto del file devi usare:
Server.MapPath(url relativo);

Ciaoo
Garze per la risposta!

Ma il metdo che mi hai spiegato, lo posso associare a un db? Cioe una cosa tipo

 System.IO.File.Delete(prendo dal Db nome e percorso); ??


o c'è un altro modo?

grazie ancora per la risp!!!

Marina di Camerota OnLine
VicenzaSoftware:Creazione siti web
Forum Tecnologie
Hai solo una immagine per catalogo? Se si potresti chiamare l'immagine come il codice del catalogo, e, visto i sorgenti che hai postato alla proprietà commandArgument del linkbutton hai bindato il codice del catalogo. Potresti usare url fisso come da te riportato /imgMaxi/codicecatalogo.jpg. In fase di eliminazione metti tutto sotto transazione in un try catch elimini prima il file, poi esegui il delete dal db e poi committi. Altrimenti se non hai la possibilità di chiamare l'immagine con il suo nome potresti bindare più campi al commandargument del linkbutton separandoli con il ;. Poi nella procedura di delete gli slpitti per ricomporre il nome del file.
Purtroppo non è una sola immagine per tutto il catalogo, ma ogni record ha a sua immagine

e per ogni record cancellato andrebbe cancellata anche l'immagine associata...

come fare?

grazie ancora....

Marina di Camerota OnLine
VicenzaSoftware:Creazione siti web
Forum Tecnologie
2.859 messaggi dal 28 gennaio 2003
perchè non fai la cosa in due fasi? per esempio,

leggo da database il l'indirizzo delle immagini da cancellare, magari con datatable o repeater.
Con questo indirizzo relativo, ricavo il percorso fisico e le cancello.

Dopo cancello il record esattamente con l'sql che hai messo.

Pietro
grazie Pietro, ma tradotto in codice (c#) in che modo lo posso realizzare?

Marina di Camerota OnLine
VicenzaSoftware:Creazione siti web
Forum Tecnologie
ragazzi c'è qualcuno che mi puo dare una mano? al momento non ci sono ancora riuscito...

Marina di Camerota OnLine
VicenzaSoftware:Creazione siti web
Forum Tecnologie

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC