I have a link in a page that allows the user to download a dynamically
created XLS file. I add these headers and everything works correctly -
as long as the .xls file is in the "home" folder.
AddHeader("Content-Disposition", "attachment; filename=MyFile.xls")
AddHeader("Content-type", "application/xls")
But, I would like to create the file in a sub-folder and send it out
from there. I've tried putting in a pathname like so:
filename=\subfolder\MyFile.xls but I can't get anything to work (the
response to the user is "File not found".
How can I get this to work?
Eliyahu Goldin - 31 Jul 2007 15:52 GMT
The name should be relative to your server application root.

Signature
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net
>I have a link in a page that allows the user to download a dynamically
> created XLS file. I add these headers and everything works correctly -
[quoted text clipped - 8 lines]
>
> How can I get this to work?
Martin - 31 Jul 2007 16:31 GMT
>The name should be relative to your server application root.
That's what I'm doing. I created a sub-folder named XLSFiles in the
server root. That's where I'm creating the xls files.
Can you give me an example of the exact syntax to use?
Is it filename=\XLSFiles\MyFile.xls
Or filename=.\XLSFiles\MyFile.xls
Or filename=..\XLSFiles\MyFile.xls
Or filename=\XLSFiles/MyFile.xls
Or ...
I've tried everything I can think of - nothing works.
Eliyahu Goldin - 31 Jul 2007 16:37 GMT
It should be server application root, off the application virtual directory.
And the path will be
XLSFiles/MyFile.xls

Signature
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net
>>The name should be relative to your server application root.
>
[quoted text clipped - 10 lines]
>
> I've tried everything I can think of - nothing works.
Patrice - 31 Jul 2007 16:41 GMT
IMO it could be unrelated. Content-disposition just suggests a name for the
downloaded file (it doesn't even have to be an existing file).
For now it's a bit unclear but it would make me rather think that the
problem is in the code that streams the file to the browser. This is where
the updated location should be taken into account.
---
Patrice
>I have a link in a page that allows the user to download a dynamically
> created XLS file. I add these headers and everything works correctly -
[quoted text clipped - 8 lines]
>
> How can I get this to work?
Martin - 02 Aug 2007 13:14 GMT
I agree with what you're saying. Do you have any idea as to how I
would get the server to use a different location? It seems to be able
to find the created file only if I put it in the server's application
root directory.
I tried creating a virtual directory named XLSFiles but that made no
difference.
>IMO it could be unrelated. Content-disposition just suggests a name for the
>downloaded file (it doesn't even have to be an existing file).
[quoted text clipped - 18 lines]
>>
>> How can I get this to work?
Patrice - 03 Aug 2007 15:16 GMT
If this is a virtual directory you'll have to user Server.MapPath to
transform this location into a physical server side directory. Using the
full absolute path of the file you can then use Response.WriteFile to stream
the file from this location .
For now you could just stream a sample text file directly to the browser
wihtout the content disposition header so that you can see whatever happens
includiong a possible error. Also try first to write down just the file
location so that you can check the absolute path is correct...
For now I would say that the file location is not correctly created
resulting in not finding the file...
--
Patrice
>I agree with what you're saying. Do you have any idea as to how I
> would get the server to use a different location? It seems to be able
[quoted text clipped - 27 lines]
>>>
>>> How can I get this to work?