Newsgroup: it.comp.www.asp
Titolo: Script in LOOP infinito...

Ciao a tutti,
ho risolto un problema e se ne č presentato uno nuovo, sono ormai 15 ore che
sono davanti al PC a cercare di risolverlo... ma sto per arrendermi....
ho uno script asp che mi permette di fare l'upload di una immagine.
Ebbene questo script funziona egregiamente on-line ma non ne vuol sapere in
locale.
Ho provato TUTTI i possibili settaggi di permessi di tutte le cartelle
coinvolte (utenti: IUSR_MIOCOMPUTER, 
ASP.NET
, Administrator etc) ma niente.
Quando chiamo lo script la pagina rimane in caricamento a vita... sono
costretto a riavviare il server da prompt dei comandi!!!!
Se nello script metto una directory NON ESISTENTE dove voler salvare il
file, non si verifica il "loop" ma, naturalmente, nessun file viene
salvato.....
Qualcuno saprebbe aiutarmi???? Al limite provatelo sul vostro server in
locale e vedete che succede :-
Ecco lo script:
(questa pagina viene chiamata come action di un form contenente un campo
file)
********FAIUPLOAD.ASP
<%@ Language=VBScript %>
<!-- #include file="upload.asp" -->
<%
' Create the FileUploader
Dim Uploader, File
Set Uploader = New FileUploader
' This starts the upload process
Uploader.Upload()
'******************************************
' Use [FileUploader object].Form to access
' additional form variables submitted with
' the file upload(s). (used below)
'******************************************
' Check if any files were uploaded
If Uploader.Files.Count = 0 Then
 Response.Write "File(s) not uploaded."
Else
 ' Loop through the uploaded files
 For Each File In Uploader.Files.Items
   ' Save the file
   File.SaveToDisk "c:\inetpub\webs\wwwroot\miosito\"
 Next
End If
%>
*** ECCO L'INCLUDE ***
<%
'***************************************
' File:   Upload.asp
' Author: Jacob "Beezle" Gilley
' Email:  
av...@airmail.net
' Date:   12/07/2000
' Comments: The code for the Upload, CByteString,
'   CWideString subroutines was originally
'   written by Philippe Collignon...or so
'   he claims. Also, I am not responsible
'   for any ill effects this script may
'   cause and provide this script "AS IS".
'   Enjoy!
'****************************************
'Sever.ScriptTimeOut=720
Class FileUploader
 Public  Files
 Private mcolFormElem
 Private Sub Class_Initialize()
  Set Files = Server.CreateObject("Scripting.Dictionary")
  Set mcolFormElem = Server.CreateObject("Scripting.Dictionary")
 End Sub
 Private Sub Class_Terminate()
  If IsObject(Files) Then
   Files.RemoveAll()
   Set Files = Nothing
  End If
  If IsObject(mcolFormElem) Then
   mcolFormElem.RemoveAll()
   Set mcolFormElem = Nothing
  End If
 End Sub
 Public Property Get Form(sIndex)
  Form = ""
  If mcolFormElem.Exists(LCase(sIndex)) Then Form =
mcolFormElem.Item(LCase(sIndex))
 End Property
 Public Default Sub Upload()
  Dim biData, sInputName
  Dim nPosBegin, nPosEnd, nPos, vDataBounds, nDataBoundPos
  Dim nPosFile, nPosBound
  biData = Request.BinaryRead(Request.TotalBytes)
  nPosBegin = 1
  nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))
  If (nPosEnd-nPosBegin) <= 0 Then Exit Sub
  vDataBounds = MidB(biData, nPosBegin, nPosEnd-nPosBegin)
  nDataBoundPos = InstrB(1, biData, vDataBounds)
  Do Until nDataBoundPos = InstrB(biData, vDataBounds & CByteString("--"))
   nPos = InstrB(nDataBoundPos, biData, CByteString("Content-Disposition"))
   nPos = InstrB(nPos, biData, CByteString("name="))
   nPosBegin = nPos + 6
   nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34)))
   sInputName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
   nPosFile = InstrB(nDataBoundPos, biData, CByteString("filename="))
   nPosBound = InstrB(nPosEnd, biData, vDataBounds)
   If nPosFile <> 0 And  nPosFile < nPosBound Then
    Dim oUploadFile, sFileName
    Set oUploadFile = New UploadedFile
    nPosBegin = nPosFile + 10
    nPosEnd =  InstrB(nPosBegin, biData, CByteString(Chr(34)))
    sFileName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
    oUploadFile.FileName = Right(sFileName,
Len(sFileName)-InStrRev(sFileName, "\"))
    nPos = InstrB(nPosEnd, biData, CByteString("Content-Type:"))
    nPosBegin = nPos + 14
    nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))
    oUploadFile.ContentType = CWideString(MidB(biData, nPosBegin,
nPosEnd-nPosBegin))
    nPosBegin = nPosEnd+4
    nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
    oUploadFile.FileData = MidB(biData, nPosBegin, nPosEnd-nPosBegin)
    If oUploadFile.FileSize > 0 Then Files.Add LCase(sInputName),
oUploadFile
   Else
    nPos = InstrB(nPos, biData, CByteString(Chr(13)))
    nPosBegin = nPos + 4
    nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
    If Not mcolFormElem.Exists(LCase(sInputName)) Then mcolFormElem.Add
LCase(sInputName), CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
   End If
   nDataBoundPos = InstrB(nDataBoundPos + LenB(vDataBounds), biData,
vDataBounds)
  Loop
 End Sub
 'String to byte string conversion
 Private Function CByteString(sString)
  Dim nIndex
  For nIndex = 1 to Len(sString)
     CByteString = CByteString & ChrB(AscB(Mid(sString,nIndex,1)))
  Next
 End Function
 'Byte string to string conversion
 Private Function CWideString(bsString)
  Dim nIndex
  CWideString =""
  For nIndex = 1 to LenB(bsString)
     CWideString = CWideString & Chr(AscB(MidB(bsString,nIndex,1)))
  Next
 End Function
End Class
Class UploadedFile
 Public ContentType
 Public FileName
 Public FileData
 Public Property Get FileSize()
  FileSize = LenB(FileData)
 End Property
 Public Sub SaveToDisk(sPath)
  Dim oFS, oFile
  Dim nIndex
  If sPath = "" Or FileName = "" Then Exit Sub
  If Mid(sPath, Len(sPath)) <> "\" Then sPath = sPath & "\"
  Set oFS = Server.CreateObject("Scripting.FileSystemObject")
  If Not oFS.FolderExists(sPath) Then Exit Sub
  Set oFile = oFS.CreateTextFile(sPath & FileName, True)
  For nIndex = 1 to LenB(FileData)
      oFile.Write Chr(AscB(MidB(FileData,nIndex,1)))
  Next
  oFile.Close
 End Sub
 Public Sub SaveToDatabase(ByRef oField)
  If LenB(FileData) = 0 Then Exit Sub
  If IsObject(oField) Then
   oField.AppendChunk FileData
  End If
 End Sub
End Class
%>

 locale.
E la colpa non è dell'antivirus?

ma sei proprio sicuro?
Hai disabilitato il blocco degli script dal menů di configurazione di
norton? (non so se basti stoppare l'antivirus)