Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 44
  1. #1
    Utente di HTML.it L'avatar di Spyfil
    Registrato dal
    Dec 2001
    Messaggi
    801

    BinaryRead e nome file [UPLOAD]

    riesco a fare tutto quello che devo!
    non posso però sulla pagina di esecuzione dell'upload richiamare la funzione request.form perchè uso il metodo BinaryRead
    come posso fare a passare sta stringa proveniente dal form?
    c'è un modo?

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Spyfil
    Registrato dal
    Dec 2001
    Messaggi
    801
    lo so che il tuo sistema funge... ma siccome ho già preparato tutto con invio mail, riconoscimento dell'utente..

    in più ho scaricato il tuo e devo dire che se facessi una pagina con 2 righe di spiegazione anche i pivelli come me capirebbero meglio!

    cmq complimenti per ciò che fai!

    devo dedurre che è impossibile ricavare sto nome file quindi?

  4. #4
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Devi estrarre le informazioni dai dati che arrivano.
    Che upload usi?

  5. #5
    Utente di HTML.it L'avatar di Spyfil
    Registrato dal
    Dec 2001
    Messaggi
    801
    l'ho scaricato da qualche parte e funzia!
    è questo:
    codice:
    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)
        			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
    
    
    
    ' 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 "<font face='Verdana' size='2'>La dimensione del file che hai uploadato è di " & DimensioneFile1*0.001 & "kb </font>"
    Response.Write "<font face='Verdana' size='2'>Grazie di aver inviato il tuo file </font>"
    
    end if

  6. #6
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Non ho alcun dubbio sul funzionamento. Però non caricare mai più di 200k totali altrimenti si incarta.

    Guardando il codice, non vedo l'elaborazionezione di una richiesta generica, ma solo quella con un input name="file1"

    Se metti file2 non funzionerà.

    Ti aiuterei, ma quel coso è un'abbozzo di un'upload fatto molto male.
    Piuttosto usa l'upload di freeasp.

    In ogni caso, con il mio upload, il codice sarebbe questo. Credo sia una soluzione migliore, dato che è più veloce, puoi recuperare i campi e fare altre cosine.

    Se invece credi sia più veloce modifcare il coso che hai postato, allora... auguri...

    Ciao

    codice:
    <%
    Dim oUpload
    Set oUpload = new cUpload
    	oUpload.SetPath "Files\"
    	oUpload.UploadAndSave
    Set oUpload=Nothing
    %>

  7. #7
    Utente di HTML.it L'avatar di Spyfil
    Registrato dal
    Dec 2001
    Messaggi
    801
    lo userei volentieri.
    io devo solo permettere di far caricare dei file. nient'altro.
    non ci sono db in mezzo, niente di niente!
    i files da caricare tra le altre cose saranno molto grossi.
    dei tui files, quali dovrei usare?

  8. #8
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Scarichi il mio upload e metti il file Upload.asp in una cartella.
    Nella stessa, metti il tuo codice (tipo quello che ho postato prima) includendo il file Upload.asp (naturalmente puoi metterlo dove ti pare upload.asp, basta includerlo correttamente).
    Il codice che vedi sopra ti consente di caricare 2,5 mb di file con un modem da 56k senza andare in timeout (e forse anche di +).
    Inoltre senpre con quelle 4 righe puoi caricare tutti i files che vuoi e recuperare i campi form.

    Prova.

    Comunque nel forum ci saranno una centinaia di post sull'argomento.

  9. #9
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Voglio essere più preciso.

    Questo è il form per l'upload. Chiamiamolo Upload.Htm

    codice:
    <FORM METHOD="Post" enctype="multipart/form-data" ACTION="Save.asp">
    File : <INPUT TYPE="file" NAME="Campo1">
    
    File : <INPUT TYPE="file" NAME="Campo2">
    
    File : <INPUT TYPE="file" NAME="Campo3">
    
    File : <INPUT TYPE="file" NAME="Campo4">
    
    File : <INPUT TYPE="file" NAME="Campo5">
    
    <INPUT TYPE="submit" NAME="Enter">
    </FORM>
    Questa è la pagina Save.Asp
    codice:
    <%
    Dim oUpload
    Set oUpload = new cUpload
    	oUpload.SetPath "Files\"
    	oUpload.UploadAndSave
    Set oUpload=Nothing
    %>
    Quindi metterai Upload.htm,Save.asp e Upload.asp (la mia classe) nella stessa cartella.

    I files verranno messi nella cartella "files/" che verrà creata in automatico.

  10. #10
    Utente di HTML.it L'avatar di Spyfil
    Registrato dal
    Dec 2001
    Messaggi
    801
    intanto ti ringrazio. Farò delle prove!!
    Caso mai mi rifaccio vivo.

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.