Visualizzazione dei risultati da 1 a 9 su 9

Discussione: nome file "uploadato"

  1. #1

    nome file "uploadato"

    con questo scrip scivo un file proveniente da un campo blob e recupero alcuni dati dallo stesso form.
    codice:
    <%
    'Questa variabile setta il percorso di dove effettuare l'upolad
    'la cartella non puo non esistere lo script non la crea ! ! !
    
    percorso = "/public"
    
    ByteRicevuti = Request.TotalBytes
    
    if ByteRicevuti > 0 then
    	DatiRicevuti = Request.BinaryRead(ByteRicevuti)
    	For i = 1 To lenB(DatiRicevuti)
    		FileBinario = FileBinario & chr(ascB(midB(DatiRicevuti,i,1)))
    	Next
    	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,"categoria") > 0 then
    			categoria = ContenutoFile
    			categoria = Replace(categoria,"'","''")
    		end if
    		
    		if instr(Intestazione,"nome") > 0 then
    			nome = ContenutoFile
    			nome = Replace(nome,"'","''")
    		end if
    		
    		if instr(Intestazione,"descrizione") > 0 then
    			descrizione = ContenutoFile
    			descrizione = Replace(descrizione,"'","''")
    		end if
    
    		' Qui recupero il file da uploadare (se presente) e lo scrivo
    		' sul server
    		if instr(Intestazione,"file1") > 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 = NomeFile
        			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
    
    path = NomeFile1
    path = Replace(path,"'","''")
    
    
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};" &_
    "DBQ="& Server.MapPath("/mdb-database/auriga.mdb")
     
    sql = "INSERT INTO download ([Categoria], [Nome], [Descrizione], [Path])  VALUES('" & categoria & "', '" & nome & "', '" & descrizione & "', '" & path & "')"
    Conn.Execute(sql)
    conn.close
    set conn = nothing
    response.Write("File inserito")
    %>


    il mio problema è sul
    codice:
    path = NomeFile1
    non me lo prende...che devo mettere per avere il nome del file? (cioè volgio "nomefile.estensione"

  2. #2
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    vuoi il nome del file dato l'url?

  3. #3
    cioè se metto seleziono tramite il blob il file prova.zip voglio che il path mi dia appunto il nome prova.zip senza alcuna path tipo public/...etc. solo il nome e l'estensione. come faccio?

  4. #4
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    codice:
    Function GetFilename(filepath)
      Dim fso, f
      Set fso = Server.CreateObject("Scripting.FileSystemObject")
      if fso.FileExists(filepath) then
      Set f = fso.GetFile(filepath)
      Response.Write(f.name)
      end if
      Set f = nothing
      Set fso = nothing
    End Function
    questa funzione ti restituisce il nome del file dato il path
    nel tuo caso la richiami con:

    codice:
    GetFileName(path)
    puoi anche splittare il nome per eliminare l'estensione con:

    codice:
    arr_name=split(f.name, ".")
    nomefile=arr_name(0)
    estensionefile=arr_name(1)


  5. #5
    ma io il path non lo so....io faccio l'upload di un file...lo script mi funziona...ora mi serve avere il nome del file che ho salvato....capito?

  6. #6
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    codice:
    Function GetFilename(filepath)
      Dim fso, f
      Set fso = Server.CreateObject("Scripting.FileSystemObject")
      if fso.FileExists(filepath) then
      Set f = fso.GetFile(filepath)
      GetFileName = f.name 
      end if
      Set f = nothing
      Set fso = nothing
    End Function
    
    path = GetFileName(path)
    cosi

  7. #7
    niente...ma la funzione non ha il path....cioè da un form inserisco un file poi sto nome di sto file come lo prendo....?mi sa che la funzione non fa quello che voglio fare...o no?

  8. #8
    inoltre con un response.write path non me la visualizza. quindi....

  9. #9
    ODDDIOOOOOO!!!! ho visto che non mi scrive il file, ma prima lo aveva scritto...oddio non ci capisco più niente....HELP ME

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.