Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Upload: controllo dimensione e misure

    Salve; ho una community fatta in Asp dove ogni utente può inserire la sua avatar anche uppando in rete (tramite un upload inserito appositamente nella pagina di "Modifica opzioni") un'immagine dal proprio computer. Per questo uso l'upload di Baol.
    Ora tuttavia mi servirebbe mettere un certo limite al peso dell'immagine (tipo: se và oltre i 700 kb annulla l'operazione e restituisce un messaggio di errore) e alle sue grandezze (che sfora ad esempio oltre i 200x200 pixel, annulla l'operazione e restituisce un messaggio di errore). Ma non ho assolutamente idea di come fare.. potete aiutarmi?
    Il codice in cui lo devo fare è il seguente:
    codice:
    <%
    'Creazione Oggetto di Upload
    	Dim oUpload
    	Set oUpload = new cUpload
    	oUpload.AutoRename = False
    	oUpload.Overwrite = True
    	oUpload.EnabledImageSize = True
    	oUpload.SetPath "avatar\" 
    	oUpload.Load() 
    	oUpload.UploadOnly "Images"
    	perm = 1
    	
    'Recupero valori form
    	id 	= oUpload.Form("id")
    	avatar 	= oUpload.Form("avatar")
    	firma	= oUpload.Form("firma")
    	bg 	= oUpload.Form("bg")
    	menu 	= oUpload.Form("menu")
    	large 	= oUpload.Form("large")
    	avy 	= oUpload.Form("avy")
    
    'Replace di Bg e Firma
    	bg 	= Replace(bg, "<", "&lt;")
    	bg 	= Replace(bg, ">", "&gt;")
    	bg 	= replace(bg,"'","''")
    	bg 	= replace(bg,vbCrLf,"
    ") 
    	firma 	= replace(firma,"'","''")
    	firma 	= replace(firma,vbCrLf,"
    ")
    	
    'Stop al ciclo
            If perm = 0 Then
    	response.end
    	end if
    
    'Impostazione di Lrg
    	lrg = 0
    	If large = "1" Then lrg = 1
     
    'Se seleziono l'avatar allora salvo il file
    	If avy = 2 and Not oUpload.EOF Then
    		nym = "av" & id
    		oUpload.SaveAs nym & "." & oUpload.Files("Ext") 
    avatar = "avatar/" & nym & "." & oUpload.Files("Ext")
    	end if
    
    'Inserimento nel Database
    	strSQL = "UPDATE info SET avatar = '"&avatar&"', firma = '"&firma&"', bg = '"&bg&"', menu = "&menu&", large="&lrg&" WHERE id ="&id
    	Conn.Execute strSQL %>
    Porc le botte

  2. #2
    Stai usando la classe di baol.
    Nello zip ci sono una serie di esempi di cui uno anche per limitare le dimensioni.

  3. #3
    L'avevo già cercato, per le dimensioni intendi questo?
    codice:
    <%
    Dim oUpload
    Set oUpload = new cUpload
    oUpload.Load()
    oUpload.Filter = oUpload.FilterImage() & AND_ & oUpload.FilterSize(102400)
    oUpload.SaveAll
    Set oUpload=Nothing
    %>
    Non sapevo come far venir il messaggio di errore... e poi sinceramente non capivo se terminava le operazioni o sortiva qualche altro effetto, né in che misura calcoli le dimensioni (sospetto bytes).

    Per le misure, intendi questo?
    codice:
    <%
    Dim oUpload
    Set oUpload= new cUpload
    With oUpload
    .EnabledAspUpload = False
    .EnabledImageSize = TRUE
    .EnabledLog = False
    .AutoRename = True
    .Overwrite = False
    .SetPath "files\"
    .Load
    .UploadOnly "Images"
    While Not .Eof
    If .Files("Height")>=80 or .Files("Width")>=60 then
     Response.write ("Le dimensioni dell'immagine " &_
     .GetFileName() &" non sono corrette (" &_
     .Files("Height") &"x" & .Files("Width") &"): File non caricato
    "  )
    else
     .Save
    end if
    .MoveNext
    Wend
    Wend
    End With
    Set oUpload = Nothing
    %>
    Qui il problema è che non so come adattarlo al mio codice...

    Ecco perché son quicapitato
    Porc le botte

  4. #4
    up (load )
    Porc le botte

  5. #5
    Ancora up
    Porc le botte

  6. #6
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Prova così.
    codice:
    <%
    Dim oUpload
    Set oUpload= new cUpload
    With oUpload
    	.EnabledAspUpload = False
    	.EnabledImageSize = TRUE
    	.EnabledLog = False
    	.AutoRename = True
    	.Overwrite = False
    	.SetPath "files\"
    	.Load
    	.UploadOnly "Images"
    	While Not .Eof
    		If cLng(.Files("Size"))>(700*1024) then
    			Response.write ("L'immagine è troppo grande")
    		If .Files("Height")>=200 or .Files("Width")>=200 then
    			 Response.write ("Le dimensioni dell'immagine " &_
    			 .GetFileName() &" non sono corrette (" &_
    			 .Files("Height") &"x" & .Files("Width") &"): File non caricato
    "  )
    		else
    			.Save
    			Response.Write "Immagine Salvata " & .GetFileName() & "
    "
     		end if
    		.MoveNext
    	Wend
    End With
    Set oUpload = Nothing
    %>
    Puoi anche mettere un messaggio se il file non è un'immagine, o se è un'immagine con un formato non previsto (tif,pic,ico ect...)

    Altra coso. Quanti files carichi contemporaneamente?

  7. #7
    Carico un solo file... com'è possibile restituire il messaggio di errore per files immagine non previsti?

    Ultima domanda...questo tratto:
    codice:
    If cLng(.Files("Size"))>(700*1024) then
    Non l'ho capito bene... Riguarda la grandezza o la misura? :master:
    Porc le botte

  8. #8
    Ecco, ho fatto come di seguito, e il controllo lo esegue ma:
    1) Non uppa l'immagine;
    2) Non esegue la stringa sql;
    codice:
    'Creazione Oggetto di Upload
    	Dim oUpload
    	Set oUpload = new cUpload
    	oUpload.EnabledAspUpload = False
    	oUpload.AutoRename = False
    	oUpload.Overwrite = True
    	oUpload.EnabledImageSize = True
    	oUpload.EnabledLog = False
    	oUpload.SetPath "avatar\" 
    	oUpload.Load() 
    	oUpload.UploadOnly "Images"
    	perm = 1
    	While Not oUpload.Eof
        If oUpload.Files("Height")=>200 or oUpload.Files("Width")=>200 then
        big = 1
      else
       big = 0
     end if
      oUpload.MoveNext
    Wend
    If big = 1 Then
    response.write "L'immagine ha un peso eccessivo, o forse non rientra nelle misure massima.
    File non caricato."
    response.end
    end if
    	
    'Recupero valori form
    	id 	= oUpload.Form("id")
    	avatar 	= oUpload.Form("avatar")
    	firma	= oUpload.Form("firma")
    	bg 	= oUpload.Form("bg")
    	menu 	= oUpload.Form("menu")
    	large 	= oUpload.Form("large")
    	avy 	= oUpload.Form("avy")
    
    'Replace di Bg e Firma
    	bg 	= Replace(bg, "<", "&lt;")
    	bg 	= Replace(bg, ">", "&gt;")
    	bg 	= replace(bg,"'","''")
    	bg 	= replace(bg,vbCrLf,"
    ") 
    	firma 	= replace(firma,"'","''")
    	firma 	= replace(firma,vbCrLf,"
    ")
    	
    'Stop al ciclo
    	If perm = 0 Then
    	response.end
    	end if
    
    'Impostazione di Lrg
    	lrg = 0
    	If large = "1" Then lrg = 1
     
    'Se seleziono l'avatar allora salvo il file
    	If avy = 2 and Not oUpload.EOF Then
    		nym = "av" & id
    		oUpload.SaveAs nym & "." & oUpload.Files("Ext") 
    avatar = "avatar/" & nym & "." & oUpload.Files("Ext")
    	end if
    
    'Inserimento nel Database
    	strSQL = "UPDATE info SET avatar = '"&avatar&"', firma = '"&firma&"', bg = '"&bg&"', menu = "&menu&", large="&lrg&" WHERE id ="&id
    	Conn.Execute strSQL %>
    Porc le botte

  9. #9
    Can you help me..?
    Porc le botte

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.