Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Upload di HTML.IT

  1. #1
    Utente di HTML.it L'avatar di Freedom
    Registrato dal
    Jan 2003
    Messaggi
    839

    Upload di HTML.IT

    Ciao,

    sto provando lo script di html.it:
    http://freeasp.html.it/articoli/view...olo.asp?id=169

    precisamente questo file allegato all'articolo:
    Scarica


    non riesco a capire come posso implementare questo codice, come segue:

    - controllo se l'utente ha realmente selezionato un file e quindi non è 'vuoto'
    - controllo, prima del upload definitivo, dell'estensione, delle dimensioni e del formato (lati dell'immagine)

    Come si può fare?
    Sicut Nox Silentes

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Se non hai selezionato un file non dovrebbe ebtrare nel ciclo ad esso relativo.

    Roby

  3. #3
    Utente di HTML.it L'avatar di Freedom
    Registrato dal
    Jan 2003
    Messaggi
    839
    Originariamente inviato da Roby_72
    Se non hai selezionato un file non dovrebbe ebtrare nel ciclo ad esso relativo.

    Roby

    Una delle cose che non riesco a capire è proprio questa.
    Ossia,
    all'inizio del codice c'è:
    ByteRicevuti = Request.TotalBytes

    if ByteRicevuti > 0 then
    ....e prosegue ol upload....


    ora, ho provato a fare un response.write(ByteRicevuti) e sia con un file selezionato, sia senza, le dimensioni sono SEMPRE > 0.

    A questo punto, come devo fare? e sopratutto, perchè sono sempre > 0?
    Sicut Nox Silentes

  4. #4
    Utente di HTML.it L'avatar di Freedom
    Registrato dal
    Jan 2003
    Messaggi
    839
    Facciamo così, io vi posto il codice e voi me lo commentate?

    Così vedo di trovare io la soluzione...

    codice:
    <%
    'Questa variabile setta il percorso di dove effettuare l'upolad
    'la cartella non puo non esistere lo script non la crea ! ! !
    
    'percorso = "\"
    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,"testo1") > 0 then
    			testo1 = ContenutoFile
    		end if
    
    		' Nel caso in cui fossero presenti piu campi basta duplicare
    		' la condizione cambiando unicamente il nome del campo
    		' es.
    		'if instr(Intestazione,"testo2") > 0 then
    		'	testo2 = ContenutoFile
    		'end if
    		
    		'if instr(Intestazione,"testo3") > 0 then
    		'	testo3 = ContenutoFile
    		'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)
    				Set textStream = FSO.CreateTextFile(("d:\Inetpub\webs\upload\"& NomeFile1), True, False)
        			textStream.Write ContenutoFile
        			textStream.Close
        			Set textStream = Nothing
    	   			Set FSO = Nothing
        	   end if
    		end if
    
    		' Lo stesso discorso vale anche per i campi dei file :
    		' Nel caso in cui fossero presenti piu file basta duplicare
    		' la condizione cambiando unicamente il nome del campo
    		' es.
    
    		'if instr(Intestazione,"file2") > 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")
    		'		Upload2 = True
    		'		DimensioneFile2 = len(ContenutoFile)
    		'		EstensioneFile2 = right(ContenutoFile,3)
    		'		NomeFile2 = NomeFile
        	'		Set textStream = FSO.CreateTextFile(server.mappath(percorso & NomeFile2), True, False)
        	'		textStream.Write ContenutoFile
        	'		textStream.Close
        	'		Set textStream = Nothing
    	   	'		Set FSO = Nothing
        	'  end if
    		'end if
    
    		'if instr(Intestazione,"file3") > 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")
    		'		Upload3 = True
    		'		DimensioneFile3 = len(ContenutoFile)
    		'		EstensioneFile3 = right(ContenutoFile,3)
    		'		NomeFile3 = NomeFile
        	'		Set textStream = FSO.CreateTextFile(server.mappath(percorso & NomeFile3), True, False)
        	'		textStream.Write ContenutoFile
        	'		textStream.Close
        	'		Set textStream = Nothing
    	   	'		Set FSO = Nothing
        	'  end if
    		'end if
    	next
    
    ' Da qui in poi è possibile fare esegiure allo script altre operazioni
    ' inserire qui gli script aggiuntivi che si vogliono eseguire dopo l'upload
    ' Per esempio visualizzare quello che è stato inserito all'interno del
    ' compo testo
    
    Response.Write "Il valore immesso nella testo1 è " & testo1 & "
    "
    
    ' Utilizzando il sistema descritto sopra è possibile visualizzare campi
    ' testo aggiuntivi presenti nel form
    ' Response.Write "Il valore immesso nella testo2 è " & testo2 & "
    "
    ' Response.Write "Il valore immesso nella testo3 è " & testo3 & "
    "
    
    ' E la stessa cosa per i campi dove è stato eseguito l'upload dei file
    
    If Upload1 = true then
    	Response.Write("Questo è il file:
    ")
    	Response.Write("[img][/img]")
    	Response.Write "
    La dimensione del file che hai uploadato è di " & DimensioneFile1*0.001 & "kb"
    	Response.Write "
    Grazie di aver inviato il tuo file"
    	''
    	Response.Write("
    NomeFile:"&NomeFile1)
    End If
    
    'If Upload2 = true then
    '	Response.Write "
    La dimensione del file che hai uploadato è di " & DimensioneFile2*0.001 & "kb"
    '	Response.Write "
    Grazie di aver inviato il tuo file"
    'End If
    
    'If Upload3 = true then
    '	Response.Write "
    La dimensione del file che hai uploadato è di " & DimensioneFile3*0.001 & "kb"
    '	Response.Write "
    Grazie di aver inviato il tuo file"
    'End If
    
    End if
    %>
    Sicut Nox Silentes

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    if i<>0 then
    	Set FSO = CreateObject("Scripting.FileSystemObject")
    	Upload1 = True
    	DimensioneFile1 = len(ContenutoFile)
    	EstensioneFile1 = right(ContenutoFile,3)
    	NomeFile1 = NomeFile
    	Set textStream = FSO.CreateTextFile(("d:\Inetpub\webs\upload\"& NomeFile1), True, False)
    	textStream.Write ContenutoFile
    	textStream.Close
    	Set textStream = Nothing
    	Set FSO = Nothing
    else
    	'File non uploadato
    end if

    Roby

  6. #6
    Utente di HTML.it L'avatar di Freedom
    Registrato dal
    Jan 2003
    Messaggi
    839
    Grazie Roby!!!


    Non voglio abusare della tua pazienza, ma almeno aiutami a capire una cosa.

    Per controllare i titpi di files consentiti per l'upload, ho pensato di fare un confronto con l'estensione del nome del file (NomeFile1) e le estensioni dei tipi di files consentiti.

    Ora, il problema è che in quel codice, la variabile NomeFile1 viene estratta già a codice avanzato, quando l'upload è già in corso (penso!).

    Non posso, secondo te, farla 'apparire' prima questa variabile, e mettere una condizione, tipo: se il file è consentito prosegui con l'upload, altrimaneti interrompi il tutto?
    Sicut Nox Silentes

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    No, in quello script no.
    Tieni presente cmq che con quello scipt carichi file di piccole dimensioni: non usarlo per altro...

    Roby

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.