Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 30
  1. #1
    Utente di HTML.it L'avatar di HammerFist
    Registrato dal
    May 2005
    Messaggi
    1,110

    upload, caso concreto...

    Ragazzi, non sò proprio come fare... ho cercato di capire nelle varie discussioni di qst e di altri forum come fare un upload, ma non ci riesco ... se mi potete aiutare ve ne sarei grato...
    ho una pagina htmlche si chiama "new_documenti.htm" e che contiene il form :

    <html>
    <head>
    <title>Nuovo doc</title>
    <script language="javascript">
    <!--
    function Modulo() {
    // Variabili associate ai campi del modulo
    var nome = document.modulo.nom.value;
    var descrizione = document.modulo.descrizione.value;
    var file = document.modulo.userfile.value;

    //Effettua il controllo sul campo NOME
    if ((nome == "") || (nome == "undefined")) {
    alert("Il campo Nome è obbligatorio.");
    document.modulo.nome.focus();
    return false;
    }
    //Effettua il controllo sul campo DESCRIZIONE
    if ((descrizione == "") || (descrizione == "undefined")) {
    alert("Il campo Descrizione è obbligatorio.");
    document.modulo.descrizione.focus();
    return false;
    }

    //Effettua il controllo sul campo FILE
    else if ((file == "") || (file == "undefined")) {
    alert("Il campo file è obbligatorio.");
    document.modulo.file.focus();
    return false;
    }

    //INVIA IL MODULO
    else {
    document.modulo.action = "new_documenti.asp";
    document.modulo.submit();
    }
    }
    //-->
    </script>
    </head>

    <body leftmargin=0>
    <table width="700" border="1" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td><table width="700" border="0">
    <tr>
    <td height="5" bgcolor="#EBEBEB"></td>
    </tr>
    <tr>
    <td>

    <form enctype="multipart/form-data" method="post" name="modulo">


    <table border="0" align="center" cellpadding="3" cellspacing="0" bgcolor="#EBEBEB" width="374">
    <tr>
    <td width="105" height="26" bgcolor="#FFFFFF" >
    <div align="right"> <font color="#000000">Titolo</font></div>
    </td>
    <td width="19" height="26" bgcolor="#FFFFFF" >
    <div align="center">- </div>
    </td>
    <td width="15" >
    <div align="left"> </div>
    </td>
    <td width="211" >
    <input name="nom" type="text" id="nom">
    </td>
    </tr>
    <tr>
    <td width="105" height="2" bgcolor="#FFFFFF" >
    <div align="right"> Descrizione</div>
    </td>
    <td width="19" height="2" bgcolor="#FFFFFF">
    <div align="center">- </div>
    </td>
    <td width="15">
    <div align="left"> </div>
    </td>
    <td width="211">
    <textarea name="descrizione" id="descrizione"></textarea>
    </td>
    </tr>
    <tr>
    <td width="105" height="26" bgcolor="#FFFFFF" >
    <div align="right"> <font color="#000000">File</font></div>
    </td>
    <td width="19" height="26" bgcolor="#FFFFFF" >
    <div align="center">- </div>
    </td>
    <td width="15" >
    <div align="left"> </div>
    </td>
    <td width="211" >
    <input type="hidden" name="MAX_FILE_SIZE" value="80000000"> <input name="userfile" type="file">
    </td>
    </tr>
    </table>


    <div align="center">[img]grafica/tutti.gif[/img] Vuoi associare questo Documento a tutti i GRUPPI ?
    <input name="associa" type="checkbox" id="associa" value="1">
    </div>
    <div align="center">

    </div>
    <table width="242" border="0" cellspacing="0" cellpadding="0" align="center">
    <tr>
    <td height="2">

    <div align="center">
    <input type="button" value="invia" style="color: #000000; font-family: Arial; font-size: 8 pt; background-color: #dddddd" onClick="Modulo()">
    <input type="reset" name="Reset" value="reset" style="color: #000000; font-family: Arial; font-size: 8 pt; background-color: #dddddd">
    </div>
    </td>
    </tr>
    </table>
    </form>
    </td>
    </tr>
    <tr>
    <td height="5" bgcolor="#EBEBEB"></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </body>
    </html>

    che invia ad una pagina chiamata :
    new_documenti.asp

    nella root del sito vi è anche il file upload.asp di baol74, mi potreste aiutare a scrivere la pagina che compie l'upload?

  2. #2
    Utente di HTML.it L'avatar di HammerFist
    Registrato dal
    May 2005
    Messaggi
    1,110
    per corservare le informazioni contenute in nome, descrizione e associa vi è un db con una tabella "documenti" con i campi
    id, nome, nome_file, data e descrizione

  3. #3
    Questo script compie l'upload nella cartella "public", che si trova nella root del sito, di un file chiamato "userfile" (ho usato lo stesso nome in modo che possa copiare lo script esattamente così com'è....), e dopo l'upload ti restituisce un messaggio di operazione andata a buon fine con un pulsante, cliccando sul quale chiudi la finestra del messaggio e ritorni alla pagina di partenza ............... se ti serve posto anche il relativo form.

    codice:
    <%
    Server.ScriptTimeout = 200
    
    'variabili di configurazione
    Dim folder
    folder = "/public"  			'directory sul server con accesso in scrittura
    'fine variabili di configurazione
    
    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("Content-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("filename="))
    		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),RequestBin,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
    
    contentType = UploadRequest.Item("userfile").Item("ContentType")
    filepathname = UploadRequest.Item("userfile").Item("FileName")
    filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
    session("userfile") = filename
    value = UploadRequest.Item("userfile").Item("Value")
    
    'Create FileSytemObject Component
    Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
    
    'Create and Write to a File
    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
    %>
    
    <html>
    <head>
    	<title>UPLOAD FILE</title>
    	
    	<script language="JavaScript">
         function close_reload() {
           window.opener.location.reload();
    	   window.close();
      	}
    	</script>
    
    
    
    </head>
    <body>
    
    
    
     <center><div>File caricato</div>
     
    
    </p>
    <div>Chiudi finestra</div></center>
    </body>
    </html>
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  4. #4
    Utente di HTML.it L'avatar di HammerFist
    Registrato dal
    May 2005
    Messaggi
    1,110
    Ti ringrazio davvero tnt teorema55 per il tuo aiuto.
    ho un errore su qst riga:

    'Create and Write to a File
    Set MyFile = ScriptObject.CreateTextFile(Server.mappath(folder) &"\"&filename)

    e l'errore dice:

    Errore di run-time di Microsoft VBScript (0x800A0046)
    Autorizzazione negata

    la cartella public però ha tutti i permessi sia di lettura che di scrittura...

  5. #5
    Utente di HTML.it L'avatar di HammerFist
    Registrato dal
    May 2005
    Messaggi
    1,110
    Adesso sono riuscito a farlo funzionare, non avevo settato bene i permessi... grazie ancora teorema55, mi hai aiutato davvero molto!

  6. #6
    Sono contento, buon lavoro (e buon divertimento)


    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  7. #7
    Utente di HTML.it L'avatar di ISE
    Registrato dal
    Sep 2003
    Messaggi
    1,314
    Scusa teorema puoi inviare il form se non ti dispiace?
    Sono bloccato e mi serve una mano...

  8. #8
    Beh, è un semplicissimo form, niente altro.......

    codice:
    <table border=0 width=800 cellspacing=1 align=center>
      <tr>
        <td width=400 align=center><FONT FACE="tahoma" color=#000066 size=2>Seleziona il file da caricare
    
    </FONT></td>
      </tr>
      <tr>
        <td width="400" height="0">
          <form method="post" enctype="multipart/form-data" action="upload.asp">
            <p align="center">File: </font>
                <input type="file" name="userfile" size=30>
    			
    			            
    
    
                <input type="submit" name="Enter" value="Conferma">
        </form></td>
      </tr>
     
      
    </table>
    .....anche qui ho usato come nome del file "userfile", puoi usarlo così com'è.

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  9. #9
    Utente di HTML.it L'avatar di ISE
    Registrato dal
    Sep 2003
    Messaggi
    1,314
    Provo subito...grazie!

  10. #10
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

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.