Salve a tutti, credo di aver utilizzato ogni script disponibile sul web per l'upload delle immagini in una cartella nel server del provider (Aruba nel mio caso). La cartella dove voglio caricare le immagini è la cartella "public" che, come di Aruba, è già provvista dei permessi di scrittura e che comunque ho verificato personalmente che ne fosse dotata.
l'errore che mi rimanda il server è
Microsoft VBScript runtime error '800a0046'
Permission denied
/upload.asp, line 60
Di conseguenza, la sola ragione che mi viene in mente per cui non riesco a caricare le immagini è che sbaglio a scrivere il percorso della cartella di destinazione sul server.
il codice è questo:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento senza titolo</title>
<%@ Language= VBScript %>
<%
' Imposta il tempo max di esecuzione dello script (espresso in millisecondi)
Server.ScriptTimeout = 100000
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
'impostazioni variabili
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin
'individua il tipo di file che si cerca di fare l upload
contentType = UploadRequest.Item("file").Item("ContentType")
'intero percorso del file
filepathname = UploadRequest.Item("file").Item("FileName")
'****************************** CONTROLLI IMMAGINE
'controllo tipo immagine
tipo = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"."))
'cambiare la scrita zip e gz qui sotto per inserire la sigla di un altro tipo di file
'Se si vuole permettere l'upload di qualsiasi tipo di file cancellare o commentare
'le successive 4 linee di codice e l'ultimo END IF della pagina upload.asp
If tipo <> "jpg" AND tipo <> "jpeg" then
Response.Write ("Errore Upload. Non è possibile fare upload di un file ." & tipo)
Response.End
else
' calcolo del peso della immagine
'imposta qui, il peso max. 90000 vuol dire 9 Kb circa
IF byteCount > 90000 THEN
Response.Write ("Errore Upload. File troppo grande!")
Response.End
else
'*********************************** NOME FINALE DEL FILE e UPLOAD
nomefile = Right(filepathname,Len(filepathname)-InstrRev(filepathname,""))
'in questa variabile viene salvato il nome del file che sarà del tipo 2311235.gif
filename = nomefile
value = UploadRequest.Item("file").Item("Value")
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_I NFO")))-14
'da questa riga di codice si specifica l'indirizzo relativo dove sarà inserito il file
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("\publi c\") & filename)
For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next
MyFile.Close
End If
End If
%>
</head>
<body>
</body>
</html>
il codice del file esegui è questo
<html xmlns="http://www.w3.org/1999/xhtml">
<%
' !!! NON MODIFICARE QUESTO FILE !!!
'********************** NON MODIFICARE
'è il cuore dello script
'senza questo file non viene effettuato l upload
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")
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
%>
</html>
Grazie infinite per chi vorrà aiutarmi

Salve a tutti, credo di aver utilizzato ogni script disponibile sul web per l'upload delle immagini in una cartella nel server del provider (Aruba nel mio caso). La cartella dove voglio caricare le immagini è la cartella "public" che, come di Aruba, è già provvista dei permessi di scrittura e che comunque ho verificato personalmente che ne fosse dotata.
Grazie infinite per chi vorrà aiutarmi
Rispondi quotando
visto che le installazioni le decidi tu immagino.