Problemi con upload su aruba.it

alex007

Utente Attivo
10 Lug 2006
32
0
0
Allora il mio problema è questo:
Utilizzo i file di aruba.it per uploddare i file all'interno della cartella "public", il problema è che io voglio deviare il percorso delle immagine sempre all'interno della stessa cartella, ma in delle sottocartelle per mantenere i permessi di scrittura messi a disposizione del server, vale a dire in es. public/cartella1 . 2 . 3 ecc. ecc.
lo script messo a disposizione di aruba.it per il file outputfile.asp è il seguente:
<!--#include file="upload.asp"-->
<%Response.Expires=0
Response.Buffer = TRUE
Response.Clear
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")
'Create FileSytemObject Component
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
'Create and Write to a File
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd) & filename)
For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next
MyFile.Close%>

per l' upload.asp :

<%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("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%>

Come risolvo? E dove devo intervenire . . .
Ci sono altri script di upload al quale si possono deviare i percorsi di scrittura altrimenti ? :confused:
 

metalgemini

Utente Attivo
14 Apr 2004
745
0
0
Visita sito
Ho usato spesso anch'io quei 2 files e devo dire sono rimasto abbastanza contento visto che non saprei fare altrimenti per uploadare files. Dovresti chiedere al Sig. Aruba di dare i permessi alle sottocartelle ma...sinceramente non ho mai avuto questa necessità.
Prova ad aprire un ticket, sono abbastanza veloci nel rispondere.
Saluti!
 

alex007

Utente Attivo
10 Lug 2006
32
0
0
Permessi. . .

Scusa la mia ignoranza, ma i permessi di scrittura di una cartella principale, non dovrebbe comprendere anche i permessi di scrittura alle relative sottocartelle? Se cosi non fosse è una stronzata il sistema a senso unico, ovvero sia mi sta bene un senso unico ma che possa poi convergere con dei sottostistemi e quindi cartelle.
Per il consiglio del tiket già fatto grazie.
 

basy82

Utente Attivo
31 Dic 2005
210
0
0
siracusa
Come risolvo? E dove devo intervenire . . .
Ci sono altri script di upload al quale si possono deviare i percorsi di scrittura altrimenti ? :confused:
CIAO..non c'è bisogno che cambi script..Basta che modifichi il file "outputfile.asp". In rosso quello ke devi cambiare..

<!--#include file="upload.asp"-->

<% Dim filename
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
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")

'Create FileSytemObject Component
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

'Create and Write to a File
'pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14

percorso="\public\tua_cartella\"

Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd) & percorso & filename)

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

alex007

Utente Attivo
10 Lug 2006
32
0
0
Grazie per la soluzione

La metto in rodaggio subito. . . .
Posterò poi se tutto è ok, anche perchè ritengo personalmente che potrebbe essere una soluzione magnifica per molti utenti, provate a pensarci un'attimo e alle soluzioni che ne potrebbero pervenire.
Ciao a tutti.
 

alex007

Utente Attivo
10 Lug 2006
32
0
0
Basy 82 devo deluderti

O sbaglio qualcosa io o altrimenti non lo so l'errore è il seguente
Microsoft VBScript compilation error '800a03ea'

Syntax error

/public/01/outputFile.asp, line 19

Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd) &\public\01\&filename)

Fine errore ------------------------------------------------

Come percorso ho scritto:
percorso="\public\01\"

Come path ho scritto:
Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd) &\public\01\&filename)

L'ho scritta bene o erro in qualcosa?:incazz:
 

metalgemini

Utente Attivo
14 Apr 2004
745
0
0
Visita sito
Mi viene un dubbio...i 2 file di aruba li hai messi nella cartella dove vengono caricati i file?Ad edempio io se non li metto nella cartella Public non funzionano...quindi vedrai che dovrai cambiare qualcosa...comunque secondo me Aruba ha stabilito che i file devono andare in public e non si scappa...purtroppo si sa che è limitato come servizio di hosting...
 
Ultima modifica:

alex007

Utente Attivo
10 Lug 2006
32
0
0
Rispondo a Metalgemini

No caro mi dispiace deluderti, ma proprio poco fa mi ha risposto aruba.it sul tiket aperto, e mi dice quanto segue:

Gentile cliente,
le comunico che tramite script è possibile creare delle sotto cartelle all'interno della cartella public che erediteranno i pemessi di scrittura; su tali cartelle sarà possibile effettuare upload di file tramite form upload.

Questo a titolo di informazione per tutti. . . . potrebbe servire
aiutatemi quindi alla soluzione ragazzi mi riferisco alla (path) è giusta come l'ho scritta?
Ciao
 
Ultima modifica:

basy82

Utente Attivo
31 Dic 2005
210
0
0
siracusa
O sbaglio qualcosa io o altrimenti non lo so l'errore è il seguente
Microsoft VBScript compilation error '800a03ea'

Syntax error

/public/01/outputFile.asp, line 19

Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd) &\public\01\&filename)

Fine errore ------------------------------------------------

Come percorso ho scritto:
percorso="\public\01\"

Come path ho scritto:
Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd) &\public\01\&filename)

L'ho scritta bene o erro in qualcosa?:incazz:
Alex.. Fai in questo modo..

percorso="public/01/"
Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd) &percorso&filename)

Prima assegni la variabile...e va bene.. ma poi devi usarla no?:)

Di funzionare sono sicura che funzioni...perchè uso ank'io questo script..
 

alex007

Utente Attivo
10 Lug 2006
32
0
0
Benissimo perchè eseguo, e Malissimo perchè non funziona

Ok ho fatto precisamente come hai detto tu, anche se l'avevo provata già la volta scorsa questa soluzione. . .
Nada l'errore è pagina non disponibile HTTP 500 - Errore interno del server
Internet Explorer , questo dopo aver caricato il file ed inviata la spedizione o l'invio,
Perchè? Devo forse modificare qualcosa anche nel file upload.asp?
Grazie cmq. ragazzi
 
Ultima modifica:

alex007

Utente Attivo
10 Lug 2006
32
0
0
Daviduccio o lunkeoweb dove dove siete ? Hel....

Ho provato anche cosi ma mi mette sempre le immagini dentro la cartella "public" invece di "public/01"
percorso=server.MapPath("/public/01")
Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd) &percorso=server.MapPath&filename)

A TUTTI I GRANDI DEL FORUM AIUTATEMI . . .

:incazz: :hammer: :gun:
 

devilmark84

Nuovo Utente
5 Nov 2006
1
0
0
ciao sono un novizio, ma ho trovato la soluzione:

percorso="cartella\"
Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd) & percorso & filename)

in pratica senza scrivere public nel percorso ma solo la sottocartella..
 

rosas29

Nuovo Utente
12 Apr 2007
7
0
0
Problemi con upload su aruba

Buongiorno a tutti.

Anche io sono novizia e mi sto spaccando la testaaaaaa!

Ho letto tutti i messaggi che avete scambiato su questo argomento ed ho seguito pedestremente tutte le vostre istruzioni......e sono arrivata allo stesso problema di Felix:

pagina non disponibile HTTP 500 - Errore interno del server

ma anche con il suggerimento di Devil...non è cambiato nulla!

Per favore ditemi come avete risolto, grazie.

Ho notato però che la mia cartella public nelle proprietà può "eseguire script" ma non può "caricare anonimamente nella directory" (opzione grigiata)

Può voler dire qualche cosa?

Aiutoooooo

grazie in anticipo :crying:
 

rosas29

Nuovo Utente
12 Apr 2007
7
0
0
Ragazzi.....
non sono un programmatore....non ho fatto nessun corso..

tutta autodidatta...

per favore aiutatemi.

Luisa
 

rosas29

Nuovo Utente
12 Apr 2007
7
0
0
scusa

Scusa, su Aruba.....

quando ho detto che avevo lo stesso problema di Alex...

intendevo dire proprio identico!

Stesso Aruba, steso tentativo, stessa risposta!

Grazie comunque per avermi risposto :)
 

metalgemini

Utente Attivo
14 Apr 2004
745
0
0
Visita sito
Ma scusa non hai letto che poi ce l'ha fatta a farlo funzionare?Quindi dovrebbe funzionare anche a te...prendi i due file...li metti nella cartella public...ed il gioco è fatto...io avevo fatto cosi...
 

rosas29

Nuovo Utente
12 Apr 2007
7
0
0
Grazie

Ciao Metal,

grazie.

Allora: ho riletto e rivisto tutto da capo, anche perchè, si sa, a distanza di tempo a volte si risolve con un nonnulla...ma non è stato questo il caso purtroppo!

Riepilogo;
in public ho messo la cartella DOCUMENTI e dentro ho messo: form_upload_01.htm - outputFile.asp - upload.asp

ecco lo script di form_upload_01.htm

<% @language="vbscript" %>
<!--#include virtual="/riservato/_private/logon.inc"-->
<html>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft FrontPage 6.0">
<TITLE></TITLE>
</HEAD>
<BODY bgcolor="#FFCB8C">

<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="100%">

<FORM METHOD="Post" ENCTYPE="multipart/form-data" ACTION="outputFile.asp">
<p align="center"><font face="Verdana" size="2">
File : <INPUT TYPE="file" NAME="blob"><BR>
<INPUT TYPE="submit" NAME="Enter">
</font>
</FORM>

</center>
<p align="left">&nbsp;</td>
</tr>
<tr>
<td width="100%">

</td>
</tr>
</table>
</div>

</BODY>


<!-- fine contenuto-->
<!--#include virtual="/riservato/stato.asp"-->
<p><a href="../default.asp">torna</a> </p>

</body>

</html>

ecco lo script di upload.asp


<%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("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%>


ecco lo script di outputFile.asp

<!--#include file="upload.asp"-->
<% Dim filename
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
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")

'Create FileSytemObject Component
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

'Create and Write to a File
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14

percorso="DocumentiRicevuti\"

Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd) & percorso & filename)

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

<head>
<title></title>
</head>

<body bgcolor="#FFCB8C">

<p align="center"><font face="Verdana" size="2">
File "<b><%=filename%></b>" ricevuto con successo</font>
<p align="center"><font face="Verdana" size="2>torna</a></font></p>

ecco il link della pagina

http://www.prefabbricatieoltre.it/riservato/default.asp

puoi dare un'occhiata?
Non so proprio più dove sbattere la testa....non ho più fantasia!

Tra le faccina dovrebbero metterne una che si martella....in testa!

Grazie ancora per la tua perdita di tempo

Luisa
 

rosas29

Nuovo Utente
12 Apr 2007
7
0
0
Correzione

Scusa, correggo

il percorso è:

percorso="Documenti\"

per un attimo mi sembrava di aver trovato l'inghippo...invece nulla!

sigh!