Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Upload

  1. #1

    Upload

    la pagina per upload di un file mi da il seguente errore:

    Microsoft VBScript runtime error '800a0006'

    Operation not Allowed

    /backoffice/upload/upload_UPLOAD.asp, line 76

    si tratta del semplice script che avevo trovato tempo fa in rete e modificato alcune cose, ho notato che fino a 2 MG riesce a far l'upload in caso contrario restituisce l'errore sopra...

    codice:
    <%
    'variabili di configurazione 
    'Dim folder 
    folder_upload = "/public/upload" 'directory sul server con accesso in scrittura
    dimensione_massima_file = 20000000 'bytes
    'fine variabili di configurazione 
    
    Server.ScriptTimeOut = 99000000
    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("blob").Item("ContentType") 
    filepathname = UploadRequest.Item("blob").Item("FileName") 
    filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\")) 
    value = UploadRequest.Item("blob").Item("Value") 
    
    'response.write filepathname &"
    "
    'response.write filename &"
    "
    'response.Write(Server.mappath(folder_upload)&"\"&filename)
    'response.end
    
    FileMessage = ""
    'controllo se file da uploadare è > di dimensione_massima_file
    if byteCount > dimensione_massima_file then 
    	FileMessage = "La grandezza del file "& UCase(filename) & " è superiore a quella consentita."
    else
    	'------ codice verifica l'esistenza di un file --------
    	set fso = Server.CreateObject("Scripting.FileSystemObject") 
    	file = server.mappath(folder_upload & "/" & filename) 
    	if fso.fileExists(file) then
    		FileMessage = "Il file "& UCase(filename) & " esiste!"
    	else	
    		'Create FileSytemObject Component 
    		'response.Write(Server.mappath(folder_upload)&"\"&filename)
    		'response.End()
    		Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject") 
    		Set MyFile = ScriptObject.CreateTextFile(Server.mappath(folder_upload)&"\"&filename) 
    		For i = 1 to LenB(value) 
    			MyFile.Write chr(AscB(MidB(value,i,1))) 
    		Next 
    		MyFile.Close
    	end if
    	set fso = nothing	
    	'-------------- FINE ----- codice verifica l'esistenza di un file ------------
    end if
    %>

  2. #2
    Utente bannato
    Registrato dal
    Nov 2004
    Messaggi
    241
    Prova a cercare l'upload di baol su google che non da mai problemi

    eventualmente assicurati che la cartella in cui fai l'upload abbia i diritti attivi in scrittura

  3. #3
    secondo me è un problema di settagio sel server che ha la dimensione massima di un upload settata a 2 mb. In genere i server di php hanno questa limitazione

  4. #4
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    A me sembra strano che riesca a caricare 2mb senza dare uno script timeout.

    Forse in locale, ma se lo metti su un server al massimo riusirai a caricare 200k

    Prova a disabilitare il Norton Script Blocking (se ce l'hai)
    Verifica i permessi sulla cartella.
    Verifica che il tag form sia in post e con l'enctype corretto.

  5. #5
    sto lavorando direttamento sul server, fino a 2 mega senza prob... sto provando il tuo scprit.
    grazie

  6. #6
    mi restituisce il nome del file uploadato ma non effettua l'upload...


    cosa sbaglio?

    codice:
    <html> 
    <head>
    <title>upload</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script>
    	function mostra() {
    	  document.getElementById('attesa').style.visibility = 'visible';
    	}
    	function nascondi() {
    	  document.getElementById('attesa').style.visibility = 'hidden';
    	}
    	function chiudi() {
    		window.opener.document.maschera.upload.value = document.form.upload.value;
    		window.close();
    	}
    </script>
    
    <style type="text/css">
    <!--
    body {
    	margin: 2px;
    	background-color: #000000;
    }
    -->
    </style>
    
    <link href="../../Style.css" rel="stylesheet" type="text/css">
    </head> 
    <body> 
    <%
    If Request("Upload")="1" then
    	Dim oUpload
    	Set oUpload = new cUpload
    		oUpload.AutoRename = False
    		oUpload.Overwrite = true
    		oUpload.SetPath "/public/upload"
    		oUpload.Upload
    		filename = oUpload.GetFileName()
    	Set oUpload=Nothing
    end if
    %>
     
    <table width=400 height="300" border=0 align=center cellpadding="10" cellspacing=1 bgcolor="#FFFFFF">
      <tr> 
        <td width=544 align=center height="20"><font size=2>SELEZIONARE IL FILE
        PER UPLOAD</font></td> 
    </tr> 
      <tr> 
        <td width="544" height="300"> 
    	<FORM ACTION="?upload=1" METHOD="Post" enctype="multipart/form-data" name="form" id="form">
            
    
    ISTRUZIONI:</p>
            <ul>[*]Cliccare sul pulsante SFOGLIA.[*]Selezionare il file da uploadare.[*]Premere APRI.[*]Infine premere AGGIUNGI.[/list]
            <p align="center"><font size="2" face="Arial">
    
              </font> 	  
    		File : 
    		<INPUT TYPE="file" NAME="Campo1">
    
    		<INPUT NAME="Enter" TYPE="submit" onClick="javascript:mostra()" value="INVIA">
            <input name="upload" type="hidden" value="<%=filename%>">	
          </FORM>
          <div align="center">
    
          </div>
          <div id="attesa" style="visibility:hidden">
            <div align="center">E' in corso il trasferimento.
    
              
    
                      Il tempo necessario varia secondo le dimensioni del file e
                      potrebbe richiedere alcuni istanti.</div>
          </div>
    </div>
    	  <div align="center">
            <% If filename <> "" then %>
    	      Il file <%=UCase(filename)%> è stato uploadato con successo.
          </div>
    	  <div align="center"><a href="#" onClick="chiudi()" class="Link">
    
            Chiudi</a></div>
    	<% end if %>
    	</td> 
    </tr> 
    </table> 
     
    
    </body> 
    </html>

  7. #7
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Manca un pezzo.
    oUpload.Save()

    Mettilo dopo

    oUpload.Upload

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.