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

    Rinominare file con upload di html.it

    Salve ragazzi,
    usando l'esempio di upload file pubblicato su html.it (http://asp.html.it/articoli/leggi/695/upload-di-file/), vorrei sapere come modificare il nome del file prima di "scriverlo" sul server.
    Ho provato in questo modo, ma non funziona, non mi restitiusce niente:

    codice:
    percorso = "../../images/products/temp/"
    
    ByteRicevuti = Request.TotalBytes
    
    if ByteRicevuti > 0 then
    	DatiRicevuti = Request.BinaryRead(ByteRicevuti)
    	FileBinario = RSBinaryToString(DatiRicevuti)
    	FirmaFile = left(FileBinario,instr(FileBinario,"" & vbCrLf)-1)
    	ArrPezzi = split(FileBinario,FirmaFile)
    
    	for item = 1 to ubound(ArrPezzi)-1
    		Inizio = instr(ArrPezzi(item),"" & vbCrLf & "" & vbCrLf)
    		Intestazione = left(ArrPezzi(item),Inizio-1)
    		Inizio = Inizio + len("" & vbCrLf) + len("" & vbCrLf)
    	  ContenutoFile = mid(ArrPezzi(item),Inizio,len(ArrPezzi(item))-Inizio-1)
    
    		' Recupero i campi se sono compilati
    		
    		if instr(Intestazione,"id") > 0 then
    			id = ContenutoFile
    		end if
    		
    		if instr(Intestazione,"code") > 0 then
    			code = ContenutoFile
    		end if
    		
    		' Qui recupero il file da uploadare (se presente) e lo scrivo
    		' sul server
    		
    		'FILE 1
    		
    		if instr(Intestazione,"img") > 0 then
    		    i = instr(Intestazione,"filename=")
    			j = instr(i + 10,Intestazione,chr(34))
    			NomeUpload = mid(Intestazione,i + 10,j-i-10)
    			i = instrRev(NomeUpload,"\")
    			if i<>0 then
        		    NomeFile = mid(NomeUpload,i + 1)
        		else
        			NomeFile = NomeUpload
        		end if
          		if i<>0 then
    				Set FSO = CreateObject("Scripting.FileSystemObject")
    				Upload1 = True
    				DimensioneFile1 = len(ContenutoFile)
    				EstensioneFile1 = right(ContenutoFile,3)
    				NomeFile1 = code & right(NomeUpload,4)  
        			Set textStream = FSO.CreateTextFile(server.mappath(percorso & NomeFile1), True, False)
        			textStream.Write ContenutoFile
        			textStream.Close
        			Set textStream = Nothing
    	   			Set FSO = Nothing
        	   end if
    		end if
    		
    next
    End If
    In questa riga (NomeFile1 = code & right(NomeUpload,4) ) dovrebbe rinominare il file, solo che la variabile code non viene recuperata ed usata per formare il nome delfile.
    Il problema potrebbe essere il fatto che la variabile è in formato binario?
    Se sì, come ovviare?

    Grazie

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non la recuperi quella variabile...

    Roby

  3. #3
    Non la recuperi in quella posizione, nel senso che se stampi il nome del file si limita a renderti .jpg (ovvero l'estensione del file che cerchi di uploaddare) senza nome, ma per effettuare un update su un record, oppure inserire un nuovo record in una tabella, funziona eccome.

    Comunque sia ho risolto il problema passando la variabile non come campo hidden del form, ma come querystring. A questo punto il rename del file funziona correttamente.

  4. #4
    come hai risolto?

  5. #5
    Passando appunto la variabile non nel form ma nell'indirizzo e recuperandola quindi come querystring e non come form.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.