Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    for each fld in request.form

    codice:
    for each fld in request.form
    if fld="cod_gruppo" then
     redim valuesMulti(request(fld).count)
     for i=1 to request(fld).count
     vlr=request(fld)(i)
     if (vlr="") then
       vlr=0
     end if
     valuesMulti(i-1) = vlr
     next
     fieldsMulti = fld
    end if
    next
    mi sono persa..mi potete aiutare!?

    il tutto funziona se io ho una form "normale"
    Es.<FORM NAME="form1" ACTION="1.asp" METHOD="POST">
    ma se ho una
    <FORM NAME="form1" ACTION="1.asp" METHOD="POST" enctype="multipart/form-data">



    per recuparare i campi
    valore_campo= uploader.form("nome_campo")

    e nel codice che ho postato sopra come si traduce!?
    ..sto!

  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Non puoi utilizzare request.form se utilizzi enctype="multipart/form-data".....

    Probabilmente nello strumento che usi per l'upload c'è anche la gestione dei campi form e get...
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    appunto...

    infatti il codice postato è perfetto se non utilizzo enctype="multipart/form-data"

    ma siccome mi serve..e vorrei mantenere la funzionalità del codice postato..chiedevo come posso tradurlo?!


    il valore del campo lo riesco a recuperare..
    con -----> valore_campo= uploader.form("nome_campo")

    ma
    redim valuesMulti(request(fld).count)
    tradotto in
    redim valuesMulti(uploader(fld).count)
    non gli piace moltissimo...quasi niente!
    ..sto!

  4. #4
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    uploader(fld).count ti restituisce qualcosa?

    se si fai:

    numero=uploader(fld).count
    redim valuesMulti(numero)
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  5. #5
    in pratica devo creare un array con tutti i valori che sono stati selezionati in una select della form...

    e poi una volta riempito l'array...inserisco il tutto nel db.

    vorrei solo sapere come dire
    Per tutti i campi della form...
    creami l'array formata dal numero si righe selezionate nella select..


    troppo contorta?! :master:
    ..sto!

  6. #6
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    No, il ragionamento fila....

    Devi vedere i metodi e le proprietà supportate dall'oggetto che usi per l'upload.

    Probabilmente request.form si traduce in uploader.form, ma è una cosa che devi vedere nella documentazione dell'oggetto che usi....
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  7. #7
    codice:
    MI SI FERMA QUI!!!!
    for each fld in request.form 
    
    
    
    
    next
    for each fld in uploader.form

    non gli piace!!!

    comè la sintassi giusta...
    ..sto!

  8. #8
    ah ok...

    siccome ne ho visti di esempi di codice con questo ulpoader..persavo sapeste già tutto..


    grazie!!!

    ..sto!

  9. #9
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    cosa utilizzi per l'upload??

    Baol, altro...?
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  10. #10
    ottima domanda...

    codice:
    
    <%
    	'ATTENZIONE: PER CONFIGURARE Il FILE PER L'UPLOAD MODIFICARE LE DUE COSTANTI SEGUENTI:
    	'indicare il nome di questo file
    	const nomediquestofile = "docenti_documenti3.asp"
    	'indicare il percorso reale della cartella pubblica dove uploadare gli allegati
    	' attenzione: usare \ solo alla fine, non all'inizio
    	const percorsoallegati = "public\documenti\allegati\"
    	'percorso fisico della cartella di upload
    	StrPath = Server.mappath(nomediquestofile)
    	StrPath = Replace(StrPath, nomediquestofile, "")
    	StrPath = StrPath & percorsoallegati
    
    	'Creo l'oggetto FileUploader ed gli assegno il nome Uploader
    	Dim Uploader, File
    	Set Uploader = New FileUploader
    	'Impostiamo la dimensione max del file in byte
    	Uploader.maxFileSize = 500000 '500 kb
    	'Impostiamo il tipo di file ammessi
    	Uploader.fileExt = "txt,doc,rtf,zip,pdf,jpg,gif,mid,ppt,pps,xls"
    	'Iniziamo il processo di upload
    	Uploader.Upload()
    	'FINE IMPOSTAZIONE PARAMETRI .............


    e questo è l'include..

    codice:
    
    Class FileUploader
    	Public  Files
    	Private mcolFormElem
    	Public maxSize
    	Public maxFileSize
    	Public fileExt
    	Public error
    	Public errorDesc
    	
    	Private Sub Class_Initialize()
    		Set Files = Server.CreateObject("Scripting.Dictionary")
    		Set mcolFormElem = Server.CreateObject("Scripting.Dictionary")
    	End Sub
    	
    	Private Sub Class_Terminate()
    		If IsObject(Files) Then
    			Files.RemoveAll()
    			Set Files = Nothing
    		End If
    		If IsObject(mcolFormElem) Then
    			mcolFormElem.RemoveAll()
    			Set mcolFormElem = Nothing
    		End If
    	End Sub
    
    	Public Property Get Form(sIndex)
    		Form = ""
    		If mcolFormElem.Exists(LCase(sIndex)) Then Form = mcolFormElem.Item(LCase(sIndex))
    	End Property
    	
    	Public Default Sub Upload()
    		Dim biData, sInputName
    		Dim nPosBegin, nPosEnd, nPos, vDataBounds, nDataBoundPos
    		Dim nPosFile, nPosBound
    
    		error = False
    		errorDesc = ""
    		
    		If Not IsNull(maxSize) AND Not IsNumeric(maxSize) Then
    			If Request.TotalBytes > maxSize Then
    				Error = True
    				errorDesc = errorDesc & "La somma delle dimensioni dei file è più grande di " & maxSize & " byte" & "
    "
    				Exit Sub
    			End If
    		End If
    
    		biData = Request.BinaryRead(Request.TotalBytes)
    
    		nPosBegin = 1
    		nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))
    		
    		If (nPosEnd-nPosBegin) <= 0 Then Exit Sub
    		 
    		vDataBounds = MidB(biData, nPosBegin, nPosEnd-nPosBegin)
    		nDataBoundPos = InstrB(1, biData, vDataBounds)
    		
    		counter = 0
    		
    		Do Until nDataBoundPos = InstrB(biData, vDataBounds & CByteString("--"))
    		
    		  counter = counter + 1	
    			nPos = InstrB(nDataBoundPos, biData, CByteString("Content-Disposition"))
    			nPos = InstrB(nPos, biData, CByteString("name="))
    			nPosBegin = nPos + 6
    			nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34)))
    			sInputName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
    			nPosFile = InstrB(nDataBoundPos, biData, CByteString("filename="))
    			nPosBound = InstrB(nPosEnd, biData, vDataBounds)
    			
    			If nPosFile <> 0 And  nPosFile < nPosBound Then
    				Dim oUploadFile, sFileName, sFileExt
    				Set oUploadFile = New UploadedFile
    				
    				nPosBegin = nPosFile + 10
    				nPosEnd =  InstrB(nPosBegin, biData, CByteString(Chr(34)))
    				
    				sFileName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
    				sFileName1 = Right(sFileName, Len(sFileName)-InStrRev(sFileName, "\"))
    				
    				oUploadFile.FileName = Right(sFileName, Len(sFileName)-InStrRev(sFileName, "\"))
    				
    				sfileExt = Right(sFileName1, Len(sFileName1) - InStrRev(sFileName1, "."))
    				If Not IsNull(fileExt) Then
    				  If Instr(fileExt, sFileExt) = 0 Then
    				  	Error = True
    				  	errorDesc = errorDesc & "File #" & counter & "(" & oUploadFile.FileName & "): tipo di file non ammesso (solo " & fileExt & ")" & "
    "
    				  Else
        				nPos = InstrB(nPosEnd, biData, CByteString("Content-Type:"))
        				nPosBegin = nPos + 14
        				nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))
        				
        				oUploadFile.ContentType = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
        				
        				nPosBegin = nPosEnd+4
        				nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
        				oUploadFile.FileData = MidB(biData, nPosBegin, nPosEnd-nPosBegin)
        				
        				If (oUploadFile.FileSize > 0) AND (oUploadFile.FileSize <= maxFileSize) Then Files.Add LCase(sInputName), oUploadFile
        
        				If Not IsNull(maxFileSize) Then
          				If oUploadFile.FileSize > maxFileSize Then
        	 			  	Error = True
        				  	errorDesc = errorDesc & "File #" & counter & "(" & oUploadFile.FileName & "): dimensione file non ammessa (max: " & maxFileSize & " bytes)" & "
    "
        				  	Exit Sub
        				  End If				
        				End If
    				  End If
    				End If
    			Else
    				nPos = InstrB(nPos, biData, CByteString(Chr(13)))
    				nPosBegin = nPos + 4
    				nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
    				If Not mcolFormElem.Exists(LCase(sInputName)) Then mcolFormElem.Add LCase(sInputName), CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
    			End If
    
    			nDataBoundPos = InstrB(nDataBoundPos + LenB(vDataBounds), biData, vDataBounds)
    		Loop
    	End Sub
    
    	'String to byte string conversion
    	Private Function CByteString(sString)
    		Dim nIndex
    		For nIndex = 1 to Len(sString)
    		   CByteString = CByteString & ChrB(AscB(Mid(sString,nIndex,1)))
    		Next
    	End Function
    
    	'Byte string to string conversion
    	Private Function CWideString(bsString)
    		Dim nIndex
    		CWideString =""
    		For nIndex = 1 to LenB(bsString)
    		   CWideString = CWideString & Chr(AscB(MidB(bsString,nIndex,1))) 
    		Next
    	End Function
    End Class
    
    Class UploadedFile
    	Public ContentType
    	Public FileName
    	Public FileData
    	
    	Public Property Get FileSize()
    		FileSize = LenB(FileData)
    	End Property
    
    	Public Sub SaveToDisk(sPath)
    		Dim oFS, oFile
    		Dim nIndex
    	
    		If sPath = "" Or FileName = "" Then Exit Sub
    		If Mid(sPath, Len(sPath)) <> "\" Then sPath = sPath & "\"
    	
    		Set oFS = Server.CreateObject("Scripting.FileSystemObject")
    		If Not oFS.FolderExists(sPath) Then Exit Sub
    		
    		'aggiunte per il controllo dei nomi dei file da uploadare .....
    		'elimino eventuali spazi vuoti nel nome del file
      		FileName = Replace(FileName, " " , "")
    		'lo trasformo in tutte lettere minuscole
      		FileName = Lcase(FileName)
    		'controllo che il nome del file non sia troppo lungo = max 40 caratteri
      		if len(FileName) > 40 then
    			est = Right(FileName, Len(FileName) - (Len(FileName) - 3))
      	  		nome = left(FileName, Len(FileName) - 4)
    			nome = left(FileName, 36)
    			FileName = nome & "." & est
    		end if
    		
    		'restituisce true se esiste già un file con lo stesso nome
      		esistefile = oFS.FileExists(sPath & FileName)
      		contatore = 0
      		do while esistefile
      	  		contatore = contatore + 1
      	  		est = Right(FileName, Len(FileName) - (Len(FileName) - 3))
      	  		nome = left(FileName, Len(FileName) - 4)
    			nome = Replace(nome, "("&Cstr(contatore-1)&")", "")
    	  		FileName = nome & "(" & Cstr(contatore) & ")." & est
    	  		esistefile = oFS.FileExists(sPath & FileName)
     		loop
    		
    		Set oFile = oFS.CreateTextFile(sPath & FileName, True)
    		
    		For nIndex = 1 to LenB(FileData)
    	    oFile.Write Chr(AscB(MidB(FileData,nIndex,1)))
    		Next
    		oFile.Close
    		
    		Set oFS = Nothing
    		
    	End Sub
    	
    	Public Sub SaveToDatabase(ByRef oField)
    		If LenB(FileData) = 0 Then Exit Sub
    		
    		If IsObject(oField) Then
    			oField.AppendChunk FileData
    		End If
    	End Sub
    
    End Class
    purtroppo sono pagine che sto solo modificando...sono di un'altra persona..
    a cui non vorrei chieder eniente però..
    rgoglio:
    ..sto!

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.