161 messaggi dal 07 settembre 2009
Salve a tutti =)
ho un problema con il FileName della classe HttpFileCollection che mi mostra l'intero percorso del file sul pc invece del singolo nome.
Mi spiego meglio: la funzione si limita a caricare dei file sul server, accettando come caratteri del nome file la seguente espressione regolare [^a-zA-Z0-9 ,._()\-].
Fin qui tutto bene fino a ieri, poichè su tutti i computer non ci sono mai stati problemi.
Ora mi ritrovo che in un pc (di cui non conosco le specifiche) FileName non mi da il solo nome del file ma l'intero percorso del client, riconoscendo caratteri non validi per il nome file (: e /), e contemporaneamente la cosa non succede su altri pc...

Da cosa dipende?
C'è un modo per ottenere, con certezza, sempre e solo il nome del file (escludendo lo scriversi da soli il codice) dalla classe HttpFileCollection?

Come sempre grazie per l'aiuto.


Davide
93 messaggi dal 25 maggio 2005
direttamente dalla libreria System.Web.dll:
//
// Riepilogo:
//     Ottiene il nome completo del file sul client.
//
// Valori restituiti:
//     Nome del file del client, incluso il percorso di directory.
public string FileName { get; }

probabilmente usavi un'altro metodo. Per la classe HttpPostedFile non ci sono altre proprietà che specificano il nome del file.

Inviato dall'app per Windows 8
161 messaggi dal 07 settembre 2009
Intanto grazie per la risposta.

Il punto è che, mantenendo lo stesso codice, su alcuni client il comando FileName mi restituisce il solo nome del file, mentre su un altro client (per ora è stato l'unico) mi restituisce tutto il percorso... Quale, tra questi 2 casi, è quello anormale? Può dipendere dal browser?

Ribadisco poi che non uso HttpPostedFile ma HttpFileCollection (anche se non credo che la cosa faccia differenza in questo contesto).

Alla fine ho optato per creare una riga di codice che prenda il testo dopo l'ultimo '/' in questo modo
nfile.Substring(nfile.LastIndexOf(@"\\") + 1)


Però il dubbio rimane... perchè su alcuni pc sì e su altri no?


Davide
93 messaggi dal 25 maggio 2005
Mi piacerebbe avere più tempo per scoprire quale sia la causa del tuo problema.....
purtroppo non ce la faccio!!!!!

HttpFileCollection è una collezione di oggetti.
Quando "interroghi" la collezione e ti fai restituire un oggetto, viene restituito come HttpPostedFile, quindi usi per forza questa classe ... ;-)

ciao
Inviato dall'app per Windows 8
161 messaggi dal 07 settembre 2009
Immaginavo =)
cmq il problema è nel browser... ho scoperto che il problema si presenta solo con IE8 ma non con IE9 o chrome e firefox (ovviamente).

Grazie per l'interessamento =)

Davide

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.