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

    Controllo dimensione immagine

    Ho un problema con l'upload delle immagini. Vorrei mettere un controllo nell'upload che rifiuti immagini superiori ad una certa dimensione (es. 150 KB), come posso fare?
    Quale comando posso utilizzare per il controllo?
    www.stefanoraone.com Webdesigner Freelance
    www.santamariadileuca.it - Portale turistico informativo, Santa Maria di Leuca

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Dipende dai metodi che il sistema di upload che utlizzi ti mette a disposizione.

    Roby

  3. #3
    Questo è lo script...

    <%
    ' //// dichiarazione delle variabili obbligatoria
    option explicit

    ' //// dichiaro le variabili
    Dim folder
    Dim nom_file
    Dim byteCount
    Dim RequestBin
    Dim PosBeg
    Dim i
    Dim char
    Dim PosEnd
    Dim boundary
    Dim boundaryPos
    Dim Pos
    Dim intCount
    Dim Name
    Dim PosFile
    Dim PosBound
    Dim Value
    Dim FileName
    Dim ContentType
    Dim nome_file
    Dim Conn
    Dim filepathname
    Dim ScriptObject
    Dim MyFile
    Dim Sql
    Dim Rs
    Dim iwidth, iheight, file

    ' //// Directory dove verrà caricato il file (la cartella deve avere i permessi in scrittura)
    folder = "/public"

    ' ////// Inizio Componente Upload

    Response.Expires=0
    Response.Buffer = TRUE
    Response.Clear

    Sub BuildUploadRequest(RequestBin)
    PosBeg = 1
    PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
    boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
    boundaryPos = InstrB(1,RequestBin,boundary)
    Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))
    Dim UploadControl
    Set UploadControl = CreateObject("Scripting.Dictionary")
    'Get an object name
    Pos = InstrB(BoundaryPos,RequestBin,getByteString("Conte nt-Disposition"))
    Pos = InstrB(Pos,RequestBin,getByteString("name="))
    PosBeg = Pos+6
    PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
    Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
    PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filen ame="))
    PosBound = InstrB(PosEnd,RequestBin,boundary)
    If PosFile<>0 AND (PosFile<PosBound) Then
    PosBeg = PosFile + 10
    PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
    FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
    UploadControl.Add "FileName", FileName
    Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))
    PosBeg = Pos+14
    PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
    ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
    UploadControl.Add "ContentType",ContentType
    PosBeg = PosEnd+4
    PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
    Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
    Else
    Pos = InstrB(Pos,RequestBin,getByteString(chr(13)))
    PosBeg = Pos+4
    PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
    Value = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
    End If
    UploadControl.Add "Value" , Value
    UploadRequest.Add name, UploadControl
    BoundaryPos=InstrB(BoundaryPos+LenB(boundary),Requ estBin,boundary)
    Loop
    End Sub
    Function getByteString(StringStr)
    For i = 1 to Len(StringStr)
    char = Mid(StringStr,i,1)
    getByteString = getByteString & chrB(AscB(char))
    Next
    End Function
    Function getString(StringBin)
    getString =""
    For intCount = 1 to LenB(StringBin)
    getString = getString & chr(AscB(MidB(StringBin,intCount,1)))
    Next
    End Function

    byteCount = Request.TotalBytes

    RequestBin = Request.BinaryRead(byteCount)
    Dim UploadRequest
    Set UploadRequest = CreateObject("Scripting.Dictionary")
    BuildUploadRequest RequestBin

    ' //// Fine Componente Upload

    ' //// riempio le variabili con valori proveninti dalla form

    nome_file = UploadRequest.Item("nome_file").Item("Value")

    ' //// controllo che la form sia state regolarmente popolata
    If IsNull(nome_file) OR nome_file = "" Then
    Response.Write ("<center>
    CAMPI OBBLIGATORI!

    RITORNA</center>")
    Response.End
    End if

    ' //// creo il file nella folder
    if UploadRequest.Item("nome_file").Item("FileName")=" " then

    Else

    contentType = UploadRequest.Item("nome_file").Item("ContentType" )
    filepathname = UploadRequest.Item("nome_file").Item("FileName")
    filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
    value = UploadRequest.Item("nome_file").Item("Value")

    Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

    Set MyFile = ScriptObject.CreateTextFile(Server.mappath(folder) &"\"&filename)

    For i = 1 to LenB(value)
    MyFile.Write chr(AscB(MidB(value,i,1)))
    Next
    MyFile.Close

    End if

    ' //// carico la pagina di risposta e stampo a video il link al file caricato
    Response.Write("<script language=""javascript"">window.alert(""Foto inviata con successo!"")</script>")
    Response.Redirect("accouncementsadd.asp")
    %>
    www.stefanoraone.com Webdesigner Freelance
    www.santamariadileuca.it - Portale turistico informativo, Santa Maria di Leuca

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Prova a testare il valore della variabile byteCount

    Roby

  5. #5
    Grazie ho risolto.
    www.stefanoraone.com Webdesigner Freelance
    www.santamariadileuca.it - Portale turistico informativo, Santa Maria di Leuca

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 © 2026 vBulletin Solutions, Inc. All rights reserved.