Link to home
Start Free TrialLog in
Avatar of synergiq
synergiqFlag for United Kingdom of Great Britain and Northern Ireland

asked on

ASP ADODB.Stream LoadFromFile function does not work with network path ?

Hello there,

I am trying to stream a word document stored on a remote server in ASP but "The file could not be loaded" when the code below is executed.

However, if a use a physical path to a file stored on the webserver (C:\docs\ for instance), it will work just fine (of course the same .doc file was put in both folders).

Is there any workaround for this problem ? I bet I am not the first one that tried to do that.

Thanks in advance for input on that
'constant from another file put there
dim CONST_DOCPATH
 
'network path of the folder for the doc file
CONST_DOCPATH = "\\mimas\boss\"
 
'if i put CONST_DOCPATH = "C:\docs\" it will work just fine
 
dim strFile 
 
strFile = "1_1_1.doc"
'strFile = "testSETUP.doc"
strPath = CONST_DOCPATH
 
'response.Write strPath & strFile
 
'Set the content type to the specific type that you are sending.
Response.Buffer = True
Response.Clear
Response.ContentType = "application/msword"
Set objStream = Server.CreateObject("ADODB.Stream")
      objStream.Open
            objStream.Type = 1
            objStream.LoadFromFile strPath & strFile
            Response.BinaryWrite objStream.Read
      objStream.Close
Set objStream = Nothing
Response.End

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of dosth
dosth
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of sybe
sybe

Create a share on the fly with username/password, access the file through the share and disconnect the share.


<%
sShareLetter = "Q"
Set oNetwork = Server.CreateObject("WScript.Network")
oNetwork.MapNetworkDrive sShareLetter, "\\mimas\boss\", False, "username", "password"
 
' get your file through sShareLetter & "\" & filename (you have that code)
 
oNetwork.RemoveNetworkDrive(sShareLetter)
Set oNetwork = Nothing
%>

Open in new window

Avatar of synergiq

ASKER

Right, IUSR_SERVENAME was a good start.

In fact, the website folder in IIS did not have any anonymous access account set. After setting it to the IUSR_SERVENAME, it works all fine.

Thanks for the help even if it was a webserver issue rather than a file server permission issue.
glad you figured