Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630

    impostare limite upload + estensione

    Come posso impostare il limite massimo di upload a 5mb con l'oggetto persists?
    Con eventuale errore se il file sia maggiore di 5 mb, nonchè ho notato che con questo script cui ho messo l'estensione obbligatoria : jpg, sono riuscito a caricare anche un file bmp????
    Potete aiutarmi per entrambi le situazioni?
    ecco lo script che utilizzo:
    codice:
    <% 
    
    Dim objFS,objFolder,objFile 
    Set objFS = Server.CreateObject("Scripting.FileSystemObject") 
    percorso = Server.MapPath("/public/profilo/") 
    Set objFolder = objFS.GetFolder(""&percorso&"") 
    
    Set Upload = Server.CreateObject("Persits.Upload") 
    
    Upload.ProgressID = Request.QueryString("PID")
    
    Count = Upload.Save (percorso) 
    
    ' This is needed to enable the progress indicator 
    Set File = Upload.Files("file1") 
    
    If Not File Is Nothing Then 
    filename=File.FileName 
    estensione=file.ext 
    
    estensione_ammessa=".jpg" 
    if lcase(estensione_ammessa)<>estensione_ammessa then 
    file.delete
    
    %>
     
    
    
    
    
    
    <p align="center"><font face="Tahoma" size="2">Il file ha un'estensione non ammessa!</font></p><p align="center"><FORM action="caricaimmagine.asp?id=<%=request.querystring("id")%>" method="post"><p align="center"><input type="submit" value="Torna indietro"></font></p></form></p>
    <%
    
    else 
    
    nuovo_filename="profilo_"& request.querystring("id") & file.ext &"" 
    
    if objFS.FileExists(Server.MapPath("/public/profilo/"&nuovo_filename&"")) then 
    objFS.DeleteFile (Server.MapPath("/public/profilo/"&nuovo_filename&"")) 
    end if
    
    Dim fsoMyFile 
    Set fsoMyFile = Server.CreateObject("Scripting.FileSystemObject") 
    fsoMyFile.MoveFile (Server.MapPath("/public/profilo/"&filename&"")), (Server.MapPath("/public/profilo/"&nuovo_filename&"")) 
    Set fsoMyFile = nothing 
    
    
        Response.redirect("caricaOK.asp?id=" & request.querystring("id") &"&file="&nuovo_filename&"") 
    end if 
    end if 
    %>
    Grazie
    G.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    nessuno può aiutarmi?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Niente???

  4. #4
    Ciao

    ho notato un paio di errori così al volo, e te li correggo, così poi riprovi e ci fai sapere:

    Codice PHP:

    <% 

    Dim objFS,objFolder,objFile 
    Set objFS 
    Server.CreateObject("Scripting.FileSystemObject"
    percorso Server.MapPath("/public/profilo/"
    Set objFolder objFS.GetFolder(""&percorso&""

    Set Upload Server.CreateObject("Persits.Upload"

    Upload.ProgressID Request.QueryString("PID")

    Count Upload.Save (percorso

    ' This is needed to enable the progress indicator 
    Set File = Upload.Files("file1") 

    If Not File Is Nothing Then 
    filename=File.FileName 
    estensione=file.ext 

    estensione_ammessa=".jpg" 
    questa riga >> if lcase(estensione_ammessa)<>estensione_ammessa then 
    'diventa
    if lcase(estensione)<>estensione_ammessa then
    file.delete

    %>
     





    <p align="center"><font face="Tahoma" size="2">[b]Il file ha un'
    estensione non ammessa![/b]</font></p><p align="center"><FORM action="caricaimmagine.asp?id=<%=request.querystring("id")%>" method="post"><p align="center"><input type="submit" value="Torna indietro"></font></p></form></p>
    <%

    else 

    nuovo_filename="profilo_"request.querystring("id") & file.ext &"" 

    ' e questa riga >>if objFS.FileExists(Server.MapPath("/public/profilo/"&nuovo_filename&"")) then 
    '
    diventa
    if objFS.FileExists(Server.MapPath("/public/profilo/"&nuovo_filename&""))=true then 
    objFS
    .DeleteFile (Server.MapPath("/public/profilo/"&nuovo_filename&"")) 
    end if
    'anche se in teoria non servirebbe, perché dovrebbe già aver cancellato il file la riga "file.delete"

    '
    qui ti ho messo objFS al posto di FSO che usavi
    if objFS.MoveFile (Server.MapPath("/public/profilo/"&filename&""))=true and objFS.MoveFile (Server.MapPath("/public/profilo/"&nuovo_filename&""))=false then 
    objFS
    .MoveFile (Server.MapPath("/public/profilo/"&filename&"")), (Server.MapPath("/public/profilo/"&nuovo_filename&""))
    end if
     
    Set fsoMyFile nothing 


        Response
    .redirect("caricaOK.asp?id=" request.querystring("id") &"&file="&nuovo_filename&""
    end if 
    end if 
    %> 
    Nel controllo dell'estensione c'era solo una svista...non mettevi la variabile "estensione" che contiene l'estensione del file caricato..
    E poi nel controllo per poi eliminare il file con FSO, non mettevi la condizione:
    lo elimini se esiste, quindi devi mettere "=true"
    Lo stesso per quando lo rinomini, fai il doppio controllo: se esiste il file di origine e se non esiste nel percorso di destinazione, allora lo sposti.
    Infine ti ho eliminato le righe dove riutilizzavi FSO ma valorizzando un'altra variabile inutilmente.

    Prova

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    grazie come sempre ale_1976
    Tutto ok, tranne questa parte
    codice:
    'qui ti ho messo objFS al posto di FSO che usavi 
    if objFS.MoveFile (Server.MapPath("/public/profilo/"&filename&""))=true and objFS.MoveFile (Server.MapPath("/public/profilo/"&nuovo_filename&""))=false then 
    objFS.MoveFile (Server.MapPath("/public/profilo/"&filename&"")), (Server.MapPath("/public/profilo/"&nuovo_filename&"")) 
    end if
    modificandola mi dava errore (non specificato di windows"impossibile trovare la pagina")
    quindi la ho lasciata come prima e funziona.
    Inoltre volevo includere la possibilità di limitare la dimensione dell'upload (massimo 5mb) come posso includere quest'altro controllo.
    Grazie
    G.

  6. #6
    Ciao,

    sì scusa...correggo quelle tre righe...

    Codice PHP:

    if objFS.FileExists(Server.MapPath("/public/profilo/"&filename&""))=true and objFS.FileExists(Server.MapPath("/public/profilo/"&nuovo_filename&""))=false then 
    objFS
    .MoveFile (Server.MapPath("/public/profilo/"&filename&"")), (Server.MapPath("/public/profilo/"&nuovo_filename&"")) 
    end if 
    Ti metto anche il link ad un nuovo post del mio blog, dove ci sono un po' di proprietà che puoi estrarre dai file che carichi con le librerie Persits:

    Proprietà file caricati con ASPUpload Persits su Aruba

    Fai delle prove impostando FileSize, poi eventualmente se non riesci ad utilizzarlo dimmelo che ti mando un esempio su come impostare lo script.

    Ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    ciao ALE
    tutto ok per quelle righe, ho visionato il link al tuo blog, ma non mi è chiaro dove impostare limite ed eventuale messaggio di errore di visualizzare se il file è superiore alla dimensione impostata!
    So che stò diventando pesante, ma potresti inviarmi un'esempio?
    Grazie
    G.

  8. #8
    Ho recuperato un esempio:

    Codice PHP:

    <%
    Set Upload Server.CreateObject("Persits.Upload"


    ' Limite di dimensione
    Upload.SetMaxSize 50000, True 



    On Error Resume Next 

    upload
    Upload
    .Save (Server.MapPath("/public/"))

    ' 8 rappresenta errore di "File troppo grande"
    If Err.Number = 8 Then 
       Response.Write "File troppo grande. Riprova." 
    Else 
       If Err <> 0 Then 
          Response.Write "Errore: " & Err.Description 
       Else 
          Response.Write "<font color=green>Inviato!</font>" 
       End If 
    End If 

    %> 
    Prova con questo.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Grazie ALE
    ho provato ad includerlo così, ma mi da errore pagina non trovata..
    Dove sbaglio?

    codice:
    <% Server.ScriptTimeout = 3600 %>
    <% 
    
    Dim objFS,objFolder,objFile 
    Set objFS = Server.CreateObject("Scripting.FileSystemObject") 
    percorso = Server.MapPath("/public/") 
    Set objFolder = objFS.GetFolder(""&percorso&"") 
    
    Set Upload = Server.CreateObject("Persits.Upload") 
    
    Count = Upload.Save (percorso) 
    
    Upload.SetMaxSize 50000, True 
    
    On Error Resume Next 
    
    ' 8 rappresenta errore di "File troppo grande" 
    If Err.Number = 8 Then 
       Response.Write "File troppo grande. Riprova." 
    Else 
     
    
    If Not File Is Nothing Then 
    filename=File.FileName 
    estensione=file.ext 
    
    estensione_ammessa=".jpg" 
    if lcase(estensione)<>estensione_ammessa then 
    file.delete 
    
    %>
     
    
    
    
    
    
    <p align="center"><font face="Tahoma" size="2">Il file ha un'estensione non ammessa!</font></p><p align="center"><FORM action="caricaimmagine1.asp?id=<%=request.querystring("id")%>" method="post"><p align="center"><input type="submit" value="Torna indietro"></font></p></form></p>
    <%
    
    else 
    
    nuovo_filename="profilo_"& request.querystring("id") & file.ext &"" 
    
    if objFS.FileExists(Server.MapPath("/public/"&nuovo_filename&""))=true then 
    objFS.DeleteFile (Server.MapPath("/public/"&nuovo_filename&"")) 
    end if
    
    
    if objFS.FileExists(Server.MapPath("/public/filename&""))=true and objFS.FileExists(Server.MapPath("/public/"&nuovo_filename&""))=false then 
    objFS.MoveFile (Server.MapPath("/public/"&filename&"")), (Server.MapPath("/public/"&nuovo_filename&"")) 
    end if
    
        Response.redirect("OK.asp?id=" & request.querystring("id") &"&file="&nuovo_filename&"") 
    end if 
    end if 
    %>
    Puoi aiutarmi?
    Grazie
    G.

  10. #10
    C'è un'errore ancora in quelle maledette tre righe...

    Codice PHP:
    if objFS.FileExists(Server.MapPath("/public/"&filename&""))=true and objFS.FileExists(Server.MapPath("/public/"&nuovo_filename&""))=false then 
    objFS
    .MoveFile (Server.MapPath("/public/"&filename&"")), (Server.MapPath("/public/"&nuovo_filename&"")) 
    end if 
    prova così...avevo lasciato /public/filename&"...quindi cercava un percorso strano...e soprattutto inesistente...

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.