Visualizzazione dei risultati da 1 a 7 su 7

Discussione: problema con upload

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413

    problema con upload

    finalmente sono riuscito a fare un upload che caricasse l'immagine sul server e memorizzasse i valori nel db...(ho usato lo script di freeasp.html.it)

    ma e sorto un piccolo problema...
    se i campi in arrivo dal modulo sono checkbox con lo stesso nome, lo script mi prende solo il primo valore della stringa (perche se non sbaglio 10 check con lo stesso nome restituiscono i valori separati da stringa)

    come posso fare??

    sono nei guai?

    grazie a tutti.

    vi posto lo script:

    codice:
    <%
    'Questa variabile setta il percorso di dove effettuare l'upolad
    'la cartella non puo non esistere lo script non la crea ! ! !
    appartenenza=session("idAppartenenza")
    
    percorso = "/desktopfaita/data/"
    
    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,"Oggetto") > 0 then
    			oggetto = ContenutoFile
    		end if
    		
    		if instr(Intestazione,"Protocollo") > 0 then
    			protocollo = ContenutoFile
    		end if
    		
    		if instr(Intestazione,"descrizione") > 0 then
    			descrizione = ContenutoFile
    		end if
    
    		if instr(Intestazione,"chiave") > 0 then
    			chiave = ContenutoFile
    		end if
    		
    		if instr(Intestazione,"gg") > 0 then
    			gg = ContenutoFile
    		end if
    		
    		if instr(Intestazione,"mm") > 0 then
    			mm = ContenutoFile
    		end if
    		if instr(Intestazione,"aa") > 0 then
    			aa= ContenutoFile
    		end if
    		response.write("
    livello"&instr(Intestazione,"livello"))
    		if instr(Intestazione,"livello") > 0 then
    			livello = ContenutoFile
    		end if
    		response.write("
    regioni"&instr(Intestazione,"regioni"))
    		if instr(Intestazione,"regioni") > 0 then
    			regioni = ContenutoFile
    		end if
    		response.write("
    associati"&instr(Intestazione,"associati"))
    		if NOT ISNULL (instr(Intestazione,"associati")) then
    		if instr(Intestazione,"associati") > 0 then
    			associati = ContenutoFile
    		end if
    		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
    
    next		
    End if

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413
    anzi peggio ancora, mi prende dei valori che non so da dove tira fuori...

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413
    help...

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413
    help... VVoVe:

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413
    in pratica a me servirebbe capire come intercettare nell head binario delle checkbox con lo stesso nome...

    quando il form le invia e quando vengono convertite in binario, se io ho checkato 3 checkbox, mi scrive per tre volte il nome della check e il valore.
    Io quindi ho bisogno di ricercarle tra i vari caratteri della conversione.

    spero di essere stato chiaro.

    grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413
    help...se non avete capito il problema lo spiego nuovamente...

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413
    nessuno mi puo dare una mano??
    provo a rispiegarlo.
    dunque...
    per fare l'upload di un file bisogna lavorare in binario...giusto?
    quindi quando ricevo i dati di un form in modalita enctype="multipart/form-data" li ricevo in binario...
    per intercettare all'interno del codice binario i dati delle caselle di testo scorro il codice finche non trovo il termine che mi indica la casella.(vedete il codice nel primo messaggio)
    Ora, tutto funziona se i campi del form hanno nomi diversi, ma nel mio caso ho 3 checkbox con lo stesso nome. E quando mi lo script le intercetta, mi memorizza solo l'ultima che trova perche ciclado sovrascrive la variabile della checj.
    Invece mi servirebbe una specie di variabile di tipo array dove memorizzare tutti i valori delle check con lo stesso nome.

    help...

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.