Forum 

Forum AspNuke.it - Il tuo Portale OpenSource in ASP

UPLOAD Immagine - Nome file "da cambiare"

Autore Messaggio
giganteg

Principiante
Principiante
8 Discussioni



Profilo - giganteg
06 marzo 2006 alle 11:31:44 Profilo - gigantegInvia un messaggio privato Rispondi quotando
buongiorno, ho una problematica che non riesco a capire-
Ho già cercato nel forum ma non ho trovato nulla.
Il modulo Upload effettua correttamente l'upload di immagini...ma quando il file name è "strano", va in errore.

Ho visto che do_upload.asp utilizza la funzione cleanfile in functions-inc.asp ma, non so perchè, sembra non produrre alcun risultato...il nome del file non viene "trattato" e quindi adattato in base alla stringa di caratteri consentiti, presente in funcions-ins.asp

Mi chiedevo se avete anche voi lo stesso problema ed, eventualmente, come fare per tirar fuori il risultato della funzione cleanfile in modo da capire se funziona davvero!

grazie a tutti
emu

Moderatore

Esperto
Esperto
1714 Discussioni



Profilo - emu
06 marzo 2006 alle 12:02:35 Profilo - emuInvia un messaggio privato Rispondi quotando
Non e' piu' semplice evitare di usare nomi "strani"?
Gia' la presenza di uno spazio puo' essere un problema insormontabile per alcuni client, quindi inviterei tutti a dare i nomi ai file con criterio.
Non dico di arrivare al modo dos 8+3, ma almeno di limitare i caratteri speciali.
Comunque scrivici uno questi nomi cosi' strani, cosi' vedo come migiorare la cleanfile.
Ciao
---------------
development@aspnuke.it
giganteg

Principiante
Principiante
8 Discussioni



Profilo - giganteg
06 marzo 2006 alle 12:07:56 Profilo - gigantegInvia un messaggio privato Rispondi quotando
ciao e grazie per la risposta
il fatto è che gli utenti caricano immagini con nomi spesso "strani" appunto
ma il fatto è che la cleanfile non toglie nemmeno gli spazi, questo mi fa pensare ad un malfunzionamento.
es: un file img prova.jpg da quanto ho capito doveva essere cambiato in img__prova.jpg , invece rimane tale e quale

Grazie ancora per la disponibilità
giganteg

Principiante
Principiante
8 Discussioni



Profilo - giganteg
06 marzo 2006 alle 13:35:42 Profilo - gigantegInvia un messaggio privato Rispondi quotando
quello che non mi è chiaro è la riga

File.SaveToDisk sUpPath

il metodo savetodisk dell'ogetto Uploader, da quello che ho capito prevere il folder di destinazioen (sUpPath) senza il nome file.

a quanto pare:
o la cleanfilename non va (ma la funzione l'ho provata in VB e funziona!)
o il savetodisk non usa il nome variato

boh....idee?

emu

Moderatore

Esperto
Esperto
1714 Discussioni



Profilo - emu
06 marzo 2006 alle 14:15:19 Profilo - emuInvia un messaggio privato Rispondi quotando
il metodo savetodisk dell'ogetto Uploader salva il file utilizzando le proprieta' impostate qualche riga piu' in alto, ma direi che c'e' un baco.
La funzione di pulizia viene richiamata dopo aver assegnato File.FileNameShort, che e' quella che viene usata nel savetodisk.
Se sei in grado (e credo di si', dal tenore del tuo messaggio), ti saremmo grati se correggessi il baco, facessi qualche prova e postassi la soluzione.
Grazie ancora.
Ciao
---------------
development@aspnuke.it
giganteg

Principiante
Principiante
8 Discussioni



Profilo - giganteg
06 marzo 2006 alle 16:57:05 Profilo - gigantegInvia un messaggio privato Rispondi quotando
allora, così sembra funzionare


Set fso = CreateObject("Scripting.FileSystemObject")
'
UpTempFileName = File.FileName
'
sUploadFile = "" & Session("UploadFile")



if trim(sUploadFile) <> "" then

'clean original name

UpTempFileName = cleanFileName (sUploadFile, 0)

if UpTempFileName <> sUploadFile then
File.OverWrite = True


'if original extension is valid
este = fso.GetExtensionName(UpTempFileName)
if trim(este) <> "" and instr(sAllowExt, "*." & este) > 0 Then
File.FileNameShort = fso.GetBaseName(UpTempFileName )
File.FileName = fso.GetBaseName(UpTempFileName ) & "." & este
File.FileExt = este
else
File.FileNameShort = fso.GetBaseName(sUploadFile)
File.FileName = fso.GetFileName(sUploadFile)
File.FileExt = fso.GetExtensionName(sUploadFile)
end if
end if
else

sUploadFile = cleanFileName(UpTempFileName, 0)

'if UpTempFileName <> sUploadFile then
File.OverWrite = True
File.FileNameShort = fso.GetBaseName(sUploadFile) 'nome senza estensione
File.FileName = fso.GetFileName(sUploadFile) 'nome completo
File.FileExt = fso.GetExtensionName(sUploadFile) 'estensione
'end if
end if
'
'Save file
File.SaveToDisk sUpPath
sUploadFile = File.FileName
sTempUpPath = sUpPath

nel blocco " if trim(sUploadFile) <> "" " secondo me c'erano degli errori di utilizzo delle variabili una riga messa al posto sbagliato

nel blocco else di questo if, ho commentato la valutazione 'if UpTempFileName <> sUploadFile
non so perchè ma questo confronto non va...eppure la variabile sUploadFile non dovrebbe arrivare con valure nullo ma come stringa vuota.

Ho riportato il codice così im modo molto grezzo, scusate se non dovesse andar bene

Ciao

Log in

Login
Password
Memorizza i tuoi dati:

Cerca

 

Sostieni AspNuke

Un piccolo gesto per aiutarci a mantenere AspNuke.it online

Promo

MusicWebItalia.it
Video Testi Traduzioni Spot Colonne sonore Accordi e Spartiti gratis.

Visitatori

Visitatori Correnti : 67
Membri : 0 offline Anna

Iscritti

 Utenti: 18940
Ultimo iscritto : glauco
Lista iscritti
Messaggi privati: 3373 Commenti: 2210 Immagini: 39 Downloads: 144 Articoli: 49 Pagine: 101 Siti web: 425 Notizie: 180 Sondaggi: 11 Preferiti: 209566 Post sui forum: 51195 Libro degli ospiti: 4 Eventi: 7

Versioni

Temi