asp - asp.net - aspcode.it
Domande sul forumCerca un argomento nel forum
Vai a :



Forum - Active Server Pages

Problema upload iis7

ndrek
scritto il 2/10/2012 23:25:26

Messaggi Scritti : 10

Ciao a tutti,

non riesco a risolvere questo problema con iis7, attualmente sto usando windows server 2008, ho riportato i vecchi siti realizzati in classic asp creati su iis6, qui funzionava tutto, mentre in iis7 non riesco a fare l’ upload delle immagini, cerco di spiegare il problema:

sia in locale che on line il sito funziona tutto perfettamente, riesco a scrivere e leggere il database correttamente, con iis7 in locale non riesco a fare l’ upolad delle immani in una cartella ( public ), quindi a testare il corretto funzionamento.

L’ errore riportato Ŕ il 500, non Ŕ n problema di dimensioni file, ho fatto prove con immagini piccolissime, pochi byte.

posto qui sotto il codice che utilizzo per eseguire l’ upload sperando che qualcuno possa capire il problema

ringrazio anticipatamente tutti




<%


'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''
'variabili di configurazione

folder = "../../public"

‘due variabili per assegnare alla foto data e ora
codd=time()
codt=FormatDateTime(date(),1)


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

byteCount = Request.TotalBytes

RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject("Scripting.Dictionary")

BuildUploadRequest RequestBin

'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''
'upload primo file

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
Set MyFile = ScriptObject.CreateTextFile(Server.mappath(folder) &"\"&codt&""&codd&""&filename)


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


MyFile.Close


'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''''''
'recupero il nome dell'immagine iserita nel db
img = codt &"' + '"& codd &"' + '"& filename

'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''''''
'recupero i dati dal form
cod = UploadRequest.Item( "cod" ).Item("Value")


%>

<%
Dim Conn
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& server.MapPath("../../mdb-database/dati.mdb")
%>

<%

SQL="UPDATE offertaMoto set img='"&img&"' WHERE id="&cod

Conn.Execute(SQL)

'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''
'Intercetto eventuali errori di sql

if Err.Number <> 0 then

Response.Clear()


Response.Redirect "errore.asp"
Response.end


end iF

%>

Inviva una mail a ndrek
  Pagina :  ]1[ 
Rispondi alla Discussione  
ASPCode Forum v.2.7b    

Ciao , oggi è il 22/09/2017, e sono le ore 06:16:27
In questo momento ci sono 0 utenti on-line e 3448 ospiti.
Messaggi inseriti oggi: 0
Totale argomenti inseriti: 8121
Totale messaggi inseriti: 28060
ArgomentoAttivo.
Argomento Chiuso.
Argomento Nuovo.
Totale utenti registrati : 10987
Ultimo utente registrato : ta69
Non sei loggato al forum, se vuoi farlo clicca qui, se non sei ancora registrato al forum e vuoi farlo clicca qui.

COMMUNITY - Login
 Username:
 
 Password:
 
Voglio registrarmi!
Password dimenticata?
 Utenti on-line: 0
 Ospiti on-line: 3448
AspIn.com
UtilitÓ
Link

Utenti connessi: 3448