Salve a tutti,

la mia esigenza è quella di caricare sul server una serie di file presenti in una cartella del mio disco fisso.
L'elenco di questi files è presente in una tabella di un DB access.

Dispongo già di uno script asp che mi permette di fare l'upload dei file sul server, il problema è che tale upload avviene tramite selezione "manuale" del file da un form mentre io vorrei che questo avvenisse automaticamente per tutti i files all'interno di una tabella.

Il form da cui manualmente seleziono il file è il seguente:

codice:
<form method="POST" enctype="multipart/form-data" action="uploadfoto.asp">
          <p align="center"><font color="#000080" size="2" face="Arial">

          File: </font><input type="file" name="blob" size=30>

          <input type="submit" name="Enter" value="Aggiungi">
      </form>
Da come ho capito il file uploadfoto.asp richiamato dal formnon fa altro che acquisire le informazioni passate dal form (nella variabile "blob") elaborarle ed effettuare l'upload sul server:
codice:
<%
'variabili di configurazione
Dim folder
folder = "\public\foto"				'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("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

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
Set MyFile = ScriptObject.CreateTextFile(Server.mappath(folder)&"\"&filename)
 
For i = 1 to LenB(value)
	MyFile.Write chr(AscB(MidB(value,i,1)))
Next
 
MyFile.Close
%>
Ho provato a bypassare il form lanciando direttamente la riga uploadfoto.asp?blob=c:\sito\foto\foto1.jpg
ma ricevo l'errore:
Microsoft VBScript runtime error '800a0005'

Invalid procedure call or argument: 'MidB'

/public/uploadfoto.asp, line 17 (quella in BOLD)


Premesso che grazie all'interrogazione del DB dispongo gia' dei diversi percorsi dei file da caricare, come posso fare a sfruttare questo script in modo automatico e dinamico facendogli caricare tramite un ciclo tutti i file sul server?

Grazie a tutti in anticipo.
Jotto