Ciao a Tutti,
ho il seguente file upload.asp :
Esso e' stato scaricato da internet e ho cambiato solo il path ove viene inviato il file
<HTML>
<HEAD>
<%@ Language= VBScript %>
<%
'
Server.ScriptTimeout = 100000
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
'
'
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin
'
'
contentType = UploadRequest.Item("file").Item("ContentType")
filepathname = UploadRequest.Item("file").Item("FileName")
tipo = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"."))
'
If tipo <> "zip" AND tipo <> "pdf" then
Response.Write ("Errore. Non è possibile caricare un file diverso da zip o pdf !!" & tipo)
Response.End
else
If byteCount > 3009000 then
'
Response.Write ("Errore. File troppo grande !!")
Response.End
else
'
nomefile = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
filename = nomefile
value = UploadRequest.Item("file").Item("Value")
'
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_I NFO")))-14
'
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("archivio_deliver\") &"\"& filename) For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next
MyFile.Close
End If
End If
%>
</HEAD>
<BODY>
<%
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
%>
<%
Dim objFSO, objFile, objFolder
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath("archivio_deliver" ))
Response.Write "
"
For Each objFile in objFolder.Files
Response.Write Left(objFile.Name, 4) & "
"
Next
Set objFolder = Nothing
Set objFSO = Nothing
%>
</BODY>
</HTML>
**************
Ho poi la pagina file2.asp che funziona correttamente:
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>SSD</title>
<Script Language="JavaScript">
function notify(n) {
if (n==6) {
document.FrontPage_Form.submit(); }
}
</script>
</HEAD>
<BODY>
<form method="POST" webbot-onSubmit language="JavaScript" name="FrontPage_Form" enctype="multipart/form-data" action="upload.asp">
<input type="file" name="file" size="20">
<input type="image" name="aesi_upload" id="aesi_upload" value="aesi_upload" onClick="notify(6)" src="images/plus2.jpg">
</form>
</BODY>
</HTML>
*******************
Ho provato a cambiare la sintassi e mettere nella pagina file3.asp :
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>SSD</title>
<Script Language="JavaScript">
function notify(n) {
if (n==6) {
document.FrontPage_Form.enctype = "multipart/form-data"
document.FrontPage_Form.action = "upload.asp"
document.FrontPage_Form.submit(); }
}
</script>
</HEAD>
<BODY BACKGROUND="images/sfondo_drago.gif">
<form method="POST" webbot-onSubmit language="JavaScript" name="FrontPage_Form">
<input type="file" name="file" size="20">
<input type="image" name="aesi_upload" id="aesi_upload" value="aesi_upload" onClick="notify(6)" src="images/plus2.jpg">
</form>
</BODY>
</HTML>
Ho il seguente errore:![]()
![]()
Error Type:
Errore di run-time di Microsoft VBScript (0x800A0005)
Chiamata di routine o argomento non validi: 'MidB'
upload.asp, line 56
Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648)
Page:
POST 76 bytes to upload.asp
POST Data:
Errore di run-time di Microsoft VBScript error '800a000d'
Tipo non corrispondente: 'Server.HTMLEncode'
/iisHelp/common/500-100.asp, line 225
Grazie mille in anticipo !!!

Rispondi quotando
