Visualizzazione dei risultati da 1 a 3 su 3

Discussione: baol senza upload?

  1. #1

    baol senza upload?

    Ciao a tutti.
    Sto utilizzando l'upload di baol con l'inserimento di dati in un database per realizzare una bacheca di annunci economici.
    L'upload funziona perfettamente.
    Avrei però la necessità di rendere facoltativo l'invio del file (una foto) mantenendo comunque l'invio dei dati nel db.

    Ho modificato in questo modo il codice:

    codice:
    <%
    strConn = Application("dbconn")
    
    Dim oUpload
    Set oUpload= new cUpload
    With oUpload
    'La riga seguente imposta la connessione al database e la tabella di inserimento dati
    'La connesione e la tabella verranno aperti con il metodo oUpload.Database.Open()
    .SetDatabase strConn,"SELECT Top 1 * FROM INSERZIONI"
    
    .EnabledAspUpload	= False
    .EnabledImageSize	= False
    .EnabledLog 		 = False
    .AutoRename 		 = True
    .Overwrite			 = False
    .SetPath "\public\files\"
    .Load
    .MoveFirst
    if .EOF then
      if Request.Form("percorso") = "" then
    	.Database.Open()
    			.Save
    			response.Write "Annuncio senza foto inserito!"
    			'Inserimento dei valori 
    			.Database.Fields("foto") = "no_img.gif"
    			.Database.Fields("percorso") = "/public/files/no_img.gif"
    			.Database.Fields("descrizione") = .Form("descrizione")	
    			'Inserimento
    			.Database.AddNew()
    	.MoveNext
      else
    	NumFiles = .Count()
    	Response.write "OPERAZIONE FALLITA
    Il file " & .GetFileName &" non è stato inviato!"
      end if 
    else
    	.Database.Open()
    	While Not .EOF
    			.Save
    			response.Write "Annuncio con foto inserito!"
    			'Inserimento dei valori
    			.Database.Fields("foto") = .GetFileName
    			.Database.Fields("percorso") = .GetHttpPathFile
    			.Database.Fields("descrizione") = .Form("descrizione")	
    			'Inserimento
    			.Database.AddNew()
    	.MoveNext
    	Wend
    end if
    End With
    Set oUpload = Nothing
    %>
    So bene che, essendo il form di inserimento dei dati enctype="multipart/form-data", non posso utilizzare il "request.form"...ma non so cos'altro fare...
    potete aiutarmi?

    grazie mille

  2. #2
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Prova così, funziona solo se carichi un file alla volta:
    codice:
    <%
    strConn = Application("dbconn")
    Dim oUpload
    Set oUpload= new cUpload
    With oUpload
    	.SetDatabase strConn,"SELECT Top 1 * FROM INSERZIONI"
    	.EnabledImageSize	= False
    	.AutoRename 		 = True
    	.Overwrite			 = False
    	.SetPath "\public\files\"
    	.Load
    	.Database.Open()
    	If .EOF then
    		Percorso = "/public/files/no_img.gif"
    		Foto = "no_img.gif"
    		response.Write "Annuncio senza foto inserito!"
    	Else
    		.Save
    		Percorso = .GetHttpPathFile
    		Foto = .GetFileName
    		response.Write "Annuncio con foto inserito!"
    	End if		
    	.Database.Fields("foto") = Foto
    	.Database.Fields("percorso") = Percorso
    	.Database.Fields("descrizione") = .Form("descrizione")	
    	.Database.AddNew()
    	.Database.Close
    End With
    Set oUpload = Nothing
    %>
    Comunque per leggere le variabili form non devi usare Request.Form ma oUpload.Form come si vede nel codice

  3. #3
    Ciao Baol, grazie per la risposta sempre puntuale

    lo script che mi hai suggerito funziona; non ottengo però il messaggio di errore nel caso in cui l'utente inserisca il percorso del file da uploadare ma l'upload non vada a buon fine.

    Ho risolto inserendo un'altra condizione in modo da ottenere messaggi differenti a seconda che il percorso venga inserito (ma l'upload non funzioni) o che volontariamente non nenga inserito

    codice:
    if oUpload.Form("percorso") = "" then
    grazie ancora

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.