why not just use
Set fso = CreateObject("S cripting.FileSy stemObject")
and use the \\networkaddres s ?
the above would be much easer and is easy to find help on hw to use it
if you want some code that will upload
use this form in page1.asp
***
<form enctype="multip art/form-data" action="page2.a sp" method="post"
name="main" LANGUAGE=javasc ript onsubmit="retur n main_onsubmit() ">
<input name="attach1" type="file" size="50">
<input name="submit" type="submit" value="Upload">
</form>
***
this code in page2.asp
***
dim path:path = "C:\fatfluid\up loadedimages"
dim path2:path2 = "C:\fatfluid\re cordingImages"
Set up = new aspUpload
up.Save(path)
Set upFile = new UploadedFile
Class aspUpload
Public UploadedFiles
Public FormElements
Private VarArrayBinRequ est
Private StreamRequest
Private uploadedYet
Private Sub Class_Initializ e()
Set UploadedFiles = Server.CreateOb ject("Scripting .Dictionary")
Set FormElements = Server.CreateOb ject("Scripting .Dictionary")
Set StreamRequest = Server.CreateOb ject("ADODB.Str eam")
StreamRequest.T ype = 1 'adTypeBinary
StreamRequest.O pen
uploadedYet = false
End Sub
Private Sub Class_Terminate ()
If IsObject(Upload edFiles) Then
UploadedFiles.R emoveAll()
Set UploadedFiles = Nothing
End If
If IsObject(FormEl ements) Then
FormElements.Re moveAll()
Set FormElements = Nothing
End If
StreamRequest.C lose
Set StreamRequest = Nothing
End Sub
Public Property Get Form(sIndex)
Form = ""
If FormElements.Ex ists(LCase(sInd ex)) Then Form =
FormElements.It em(LCase(sIndex ))
End Property
Public Property Get Files()
Files = UploadedFiles.I tems
End Property
'Calls Upload to extract the data from the binary request and then saves
the uploaded files
Public Sub Save(path)
Dim streamFile, fileItem
if Right(path, 1) <> "\" then path = path & "\"
if not uploadedYet then Upload
For Each fileItem In UploadedFiles.I tems
Set streamFile = Server.CreateOb ject("ADODB.Str eam")
streamFile.Type = 1
streamFile.Open
StreamRequest.P osition=fileIte m.Start
StreamRequest.C opyTo streamFile, fileItem.Length
streamFile.Save ToFile path & fileItem.FileNa me, 2
streamFile.clos e
Set streamFile = Nothing
fileItem.Path = path & fileItem.FileNa me
Next
End Sub
Public Function SaveBinRequest( path) ' For debugging purposes
StreamRequest.S aveToFile path & "\debugStream.b in", 2
End Function
Public Sub DumpData() 'only works if files are plain text
Dim i, aKeys, f
'response.write "Form Items:<br>"
aKeys = FormElements.Ke ys
For i = 0 To FormElements.Co unt -1 ' Iterate the array
'response.write aKeys(i) & " = " & FormElements.It em(aKeys(i)) & "<BR>"
Next
'response.write "Uploaded Files:<br>"
For Each f In UploadedFiles.I tems
'response.write "Name: " & f.FileName & "<br>"
'response.write "Type: " & f.ContentType & "<br>"
'response.write "Start: " & f.Start & "<br>"
'response.write "Size: " & f.Length & "<br>"
Next
End Sub
Private Sub Upload()
Dim nCurPos, nDataBoundPos, nLastSepPos
Dim nPosFile, nPosBound
Dim sFieldName, osPathSep, auxStr
'RFC1867 Tokens
Dim vDataSep
Dim tNewLine, tDoubleQuotes, tTerm, tFilename, tName, tContentDisp,
tContentType
tNewLine = Byte2String(Chr (13))
tDoubleQuotes = Byte2String(Chr (34))
tTerm = Byte2String("--")
tFilename = Byte2String("fi lename=""")
tName = Byte2String("na me=""")
tContentDisp = Byte2String("Co ntent-Disposition")
tContentType = Byte2String("Co ntent-Type:")
uploadedYet = true
on error resume next
VarArrayBinRequ est = Request.BinaryR ead(Request.Tot alBytes)
if Err.Number <> 0 then
response.write "<br><br><B>Sys tem reported this error:</B><p>"
response.write Err.Description & "<p>"
response.write "The most likely cause for this error is the incorrect
setup of AspMaxRequestEn tityAllowed in IIS MetaBase. Please see instructions
in the <A
HREF='http://www.freeaspuplo ad.net/freeaspupload/requirements.as p'>requirements
page of freeaspupload.n et</A>.<p>"
Exit Sub
end if
on error goto 0 'reset error handling
nCurPos = FindToken(tNewL ine,1) 'Note: nCurPos is 1-based (and so is
InstrB, MidB, etc)
If nCurPos <= 1 Then Exit Sub
'vDataSep is a separator like -----------------------------21763138716045
vDataSep = MidB(VarArrayBi nRequest, 1, nCurPos-1)
'Start of current separator
nDataBoundPos = 1
'Beginning of last line
nLastSepPos = FindToken(vData Sep & tTerm, 1)
Do Until nDataBoundPos = nLastSepPos
nCurPos = SkipToken(tCont entDisp, nDataBoundPos)
nCurPos = SkipToken(tName , nCurPos)
sFieldName = ExtractField(tD oubleQuotes, nCurPos)
nPosFile = FindToken(tFile name, nCurPos)
nPosBound = FindToken(vData Sep, nCurPos)
If nPosFile <> 0 And nPosFile < nPosBound Then
Dim oUploadFile
Set oUploadFile = New UploadedFile
nCurPos = SkipToken(tFile name, nCurPos)
auxStr = ExtractField(tD oubleQuotes, nCurPos)
' We are interested only in the name of the file, not the
whole path
' Path separator is \ in windows, / in UNIX
' While IE seems to put the whole pathname in the stream,
Mozilla seem to
' only put the actual file name, so UNIX paths may be rare.
But not impossible.
osPathSep = "\"
if InStr(auxStr, osPathSep) = 0 then osPathSep = "/"
oUploadFile.Fil eName = Right(auxStr, Len(auxStr)-InStrRev(auxStr ,
osPathSep))
if (Len(oUploadFil e.FileName) > 0) then 'File field not left empty
nCurPos = SkipToken(tCont entType, nCurPos)
auxStr = ExtractField(tN ewLine, nCurPos)
' NN on UNIX puts things like this in the streaa:
' ?? python py type=?? python application/x-python
oUploadFile.Con tentType = Right(auxStr, Len(auxStr)-InStrRev(auxStr , "
"))
nCurPos = FindToken(tNewL ine, nCurPos) + 4 'skip empty line
oUploadFile.Sta rt = nCurPos-1
oUploadFile.Len gth = FindToken(vData Sep, nCurPos) - 2 - nCurPos
If oUploadFile.Len gth > 0 Then UploadedFiles.A dd LCase(sFieldNam e),
oUploadFile
End If
Else
Dim nEndOfData
nCurPos = FindToken(tNewL ine, nCurPos) + 4 'skip empty line
nEndOfData = FindToken(vData Sep, nCurPos) - 2
If Not FormElements.Ex ists(LCase(sFie ldName)) Then FormElements.Ad d
LCase(sFieldNam e), String2Byte(Mid B(VarArrayBinRe quest, nCurPos,
nEndOfData-nCurPos))
End If
'Advance to next separator
nDataBoundPos = FindToken(vData Sep, nCurPos)
Loop
StreamRequest.W rite(VarArrayBi nRequest)
End Sub
Private Function SkipToken(sToke n, nStart)
SkipToken = InstrB(nStart, VarArrayBinRequ est, sToken)
If SkipToken = 0 then
'response.write "Error in parsing uploaded binary request."
Response.End
end if
SkipToken = SkipToken + LenB(sToken)
End Function
Private Function FindToken(sToke n, nStart)
FindToken = InstrB(nStart, VarArrayBinRequ est, sToken)
End Function
Private Function ExtractField(sT oken, nStart)
Dim nEnd
nEnd = InstrB(nStart, VarArrayBinRequ est, sToken)
If nEnd = 0 then
'response.write "Error in parsing uploaded binary request."
Response.End
end if
ExtractField = String2Byte(Mid B(VarArrayBinRe quest, nStart, nEnd-nStart))
End Function
'String to byte string conversion
Private Function Byte2String(sSt ring)
Dim i
For i = 1 to Len(sString)
Byte2String = Byte2String & ChrB(AscB(Mid(s String,i,1)))
Next
End Function
'Byte string to string conversion
Private Function String2Byte(bsS tring)
Dim i
String2Byte =""
For i = 1 to LenB(bsString)
String2Byte = String2Byte & Chr(AscB(MidB(b sString,i,1)))
Next
End Function
End Class
Class UploadedFile
Public ContentType
Public Start
Public Length
Public Path
Private nameOfFile
' Need to remove characters that are valid in UNIX, but not in Windows
Public Property Let FileName(fN)
nameOfFile = fN
nameOfFile = SubstNoReg(name OfFile, "\", "_")
nameOfFile = SubstNoReg(name OfFile, "/", "_")
nameOfFile = SubstNoReg(name OfFile, ":", "_")
nameOfFile = SubstNoReg(name OfFile, "*", "_")
nameOfFile = SubstNoReg(name OfFile, "?", "_")
nameOfFile = SubstNoReg(name OfFile, """", "_")
nameOfFile = SubstNoReg(name OfFile, "<", "_")
nameOfFile = SubstNoReg(name OfFile, ">", "_")
nameOfFile = SubstNoReg(name OfFile, "|", "_")
End Property
Public Property Get FileName()
FileName = nameOfFile
End Property
'Public Property Get FileN()ame
End Class
' Does not depend on RegEx, which is not available on older VBScript
' Is not recursive, which means it will not run out of stack space
Function SubstNoReg(init ialStr, oldStr, newStr)
Dim currentPos, oldStrPos, skip
If IsNull(initialS tr) Or Len(initialStr) = 0 Then
SubstNoReg = ""
ElseIf IsNull(oldStr) Or Len(oldStr) = 0 Then
SubstNoReg = initialStr
Else
If IsNull(newStr) Then newStr = ""
currentPos = 1
oldStrPos = 0
SubstNoReg = ""
skip = Len(oldStr)
Do While currentPos <= Len(initialStr)
oldStrPos = InStr(currentPo s, initialStr, oldStr)
If oldStrPos = 0 Then
SubstNoReg = SubstNoReg & Mid(initialStr, currentPos,
Len(initialStr) - currentPos + 1)
currentPos = Len(initialStr) + 1
Else
SubstNoReg = SubstNoReg & Mid(initialStr, currentPos,
oldStrPos - currentPos) & newStr
currentPos = oldStrPos + skip
End If
Loop
End If
End Function
"Julien" <Ju****@discuss ions.microsoft. com> wrote in message
news:E1******** *************** ***********@mic rosoft.com...
Hi,
Thanks for answering :)
On one side I have a web server that stores files and hosts the SQL
database.
On the other a web server (Sharepoint site) to which I want to send files
(.doc, .xls, ...).
Those two servers are on the same enterprise network. But the Sharepoint
site can only be accessed via https.
How can I do ?
This action can be done manually using "drag and drop" into a mapped web
folder (network location in Windows Explorer). So I imagined it could be
done
automatically using a script.
Thks