By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,201 Members | 957 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,201 IT Pros & Developers. It's quick & easy.

Client and Office from asp.net

P: n/a
I have an internal asp.net 2.0 web application where we display the contents
of various files using Response.ContentType and Response.WriteFile()
settings and it works great for .doc, .xls, etc. files. Now the users want
to be able to open them in their native programs (Microsoft Word, Excel,
etc.). I have done this with ActiveX before, but the company has moved to
Office 2007 and I'm not sure the same process will work for the new docx,
xlsx, etc. files. Can anyone give me some ideas on the best way to handle
this? All users have Microsoft Office. Thanks.

David
Jun 27 '08 #1
Share this Question
Share on Google+
7 Replies


P: n/a
You should add Content-Disposition to the header.
Like this Content-Disposition: attachment; filename="file.pdf"

So in C# code it's Response.AddHeader("Content-Disposition", "attachment;
filename=\"file.pdf\"");
And then do Response.WriteFile

Browser will be forced (thanks to "attachment" word) to pop up a window
offering to save file or open it in application.
George.
"David C" <dl*****@lifetimeinc.comwrote in message
news:ef**************@TK2MSFTNGP06.phx.gbl...
>I have an internal asp.net 2.0 web application where we display the
contents of various files using Response.ContentType and
Response.WriteFile() settings and it works great for .doc, .xls, etc.
files. Now the users want to be able to open them in their native programs
(Microsoft Word, Excel, etc.). I have done this with ActiveX before, but
the company has moved to Office 2007 and I'm not sure the same process will
work for the new docx, xlsx, etc. files. Can anyone give me some ideas on
the best way to handle this? All users have Microsoft Office. Thanks.

David

Jun 27 '08 #2

P: n/a
George,
Thank you for that info. However, it still does not open in the native
program (Microsoft Word, Microsoft Excel, etc.). It opens it in the browser
where it cannot be edited.

David
"George Ter-Saakov" <gt****@cardone.comwrote in message
news:%2****************@TK2MSFTNGP05.phx.gbl...
You should add Content-Disposition to the header.
Like this Content-Disposition: attachment; filename="file.pdf"

So in C# code it's Response.AddHeader("Content-Disposition", "attachment;
filename=\"file.pdf\"");
And then do Response.WriteFile

Browser will be forced (thanks to "attachment" word) to pop up a window
offering to save file or open it in application.
George.
"David C" <dl*****@lifetimeinc.comwrote in message
news:ef**************@TK2MSFTNGP06.phx.gbl...
>>I have an internal asp.net 2.0 web application where we display the
contents of various files using Response.ContentType and
Response.WriteFile() settings and it works great for .doc, .xls, etc.
files. Now the users want to be able to open them in their native
programs (Microsoft Word, Excel, etc.). I have done this with ActiveX
before, but the company has moved to Office 2007 and I'm not sure the same
process will work for the new docx, xlsx, etc. files. Can anyone give me
some ideas on the best way to handle this? All users have Microsoft
Office. Thanks.

David


Jun 27 '08 #3

P: n/a
Show me the code.....

PS: There was a bug in IE 5.01 and it ignored the "attachment" .... But I
hope it's not the case here. Since we already have IE 7.

George.
"David C" <dl*****@lifetimeinc.comwrote in message
news:u4**************@TK2MSFTNGP06.phx.gbl...
George,
Thank you for that info. However, it still does not open in the native
program (Microsoft Word, Microsoft Excel, etc.). It opens it in the
browser where it cannot be edited.

David
"George Ter-Saakov" <gt****@cardone.comwrote in message
news:%2****************@TK2MSFTNGP05.phx.gbl...
>You should add Content-Disposition to the header.
Like this Content-Disposition: attachment; filename="file.pdf"

So in C# code it's Response.AddHeader("Content-Disposition", "attachment;
filename=\"file.pdf\"");
And then do Response.WriteFile

Browser will be forced (thanks to "attachment" word) to pop up a window
offering to save file or open it in application.
George.
"David C" <dl*****@lifetimeinc.comwrote in message
news:ef**************@TK2MSFTNGP06.phx.gbl...
>>>I have an internal asp.net 2.0 web application where we display the
contents of various files using Response.ContentType and
Response.WriteFile() settings and it works great for .doc, .xls, etc.
files. Now the users want to be able to open them in their native
programs (Microsoft Word, Excel, etc.). I have done this with ActiveX
before, but the company has moved to Office 2007 and I'm not sure the
same process will work for the new docx, xlsx, etc. files. Can anyone
give me some ideas on the best way to handle this? All users have
Microsoft Office. Thanks.

David



Jun 27 '08 #4

P: n/a
Nevermind. The problem was that I did not need "\" before and after
filename as I am using VB. When I took them off, it appears to work fine.
Thanks.

David
"George Ter-Saakov" <gt****@cardone.comwrote in message
news:uT**************@TK2MSFTNGP04.phx.gbl...
Show me the code.....

PS: There was a bug in IE 5.01 and it ignored the "attachment" .... But I
hope it's not the case here. Since we already have IE 7.

George.
"David C" <dl*****@lifetimeinc.comwrote in message
news:u4**************@TK2MSFTNGP06.phx.gbl...
>George,
Thank you for that info. However, it still does not open in the native
program (Microsoft Word, Microsoft Excel, etc.). It opens it in the
browser where it cannot be edited.

David
"George Ter-Saakov" <gt****@cardone.comwrote in message
news:%2****************@TK2MSFTNGP05.phx.gbl...
>>You should add Content-Disposition to the header.
Like this Content-Disposition: attachment; filename="file.pdf"

So in C# code it's Response.AddHeader("Content-Disposition",
"attachment; filename=\"file.pdf\"");
And then do Response.WriteFile

Browser will be forced (thanks to "attachment" word) to pop up a window
offering to save file or open it in application.
George.
"David C" <dl*****@lifetimeinc.comwrote in message
news:ef**************@TK2MSFTNGP06.phx.gbl...
I have an internal asp.net 2.0 web application where we display the
contents of various files using Response.ContentType and
Response.WriteFile() settings and it works great for .doc, .xls, etc.
files. Now the users want to be able to open them in their native
programs (Microsoft Word, Excel, etc.). I have done this with ActiveX
before, but the company has moved to Office 2007 and I'm not sure the
same process will work for the new docx, xlsx, etc. files. Can anyone
give me some ideas on the best way to handle this? All users have
Microsoft Office. Thanks.

David



Jun 27 '08 #5

P: n/a
George,
I did find a problem. Office 2007 opens a document from a previous version
of Office with a different name (e.g. it adds [1] to the name). For example,
if I open test.doc on a machine with office 2007 it opens it as test[1].doc
in a temporary directory. When it opens a file like test.docx it opens the
original. Is there any way to handle this? Thanks.

David
"George Ter-Saakov" <gt****@cardone.comwrote in message
news:uT**************@TK2MSFTNGP04.phx.gbl...
Show me the code.....

PS: There was a bug in IE 5.01 and it ignored the "attachment" .... But I
hope it's not the case here. Since we already have IE 7.

George.
"David C" <dl*****@lifetimeinc.comwrote in message
news:u4**************@TK2MSFTNGP06.phx.gbl...
>George,
Thank you for that info. However, it still does not open in the native
program (Microsoft Word, Microsoft Excel, etc.). It opens it in the
browser where it cannot be edited.

David
"George Ter-Saakov" <gt****@cardone.comwrote in message
news:%2****************@TK2MSFTNGP05.phx.gbl...
>>You should add Content-Disposition to the header.
Like this Content-Disposition: attachment; filename="file.pdf"

So in C# code it's Response.AddHeader("Content-Disposition",
"attachment; filename=\"file.pdf\"");
And then do Response.WriteFile

Browser will be forced (thanks to "attachment" word) to pop up a window
offering to save file or open it in application.
George.
"David C" <dl*****@lifetimeinc.comwrote in message
news:ef**************@TK2MSFTNGP06.phx.gbl...
I have an internal asp.net 2.0 web application where we display the
contents of various files using Response.ContentType and
Response.WriteFile() settings and it works great for .doc, .xls, etc.
files. Now the users want to be able to open them in their native
programs (Microsoft Word, Excel, etc.). I have done this with ActiveX
before, but the company has moved to Office 2007 and I'm not sure the
same process will work for the new docx, xlsx, etc. files. Can anyone
give me some ideas on the best way to handle this? All users have
Microsoft Office. Thanks.

David



Jun 27 '08 #6

P: n/a
Doubt that you can do anything here...
this is how Open/Save dialog works.....

If you choose "Save" then you can save it with the name you specified in
your "Content-Disposition" header.
If you choose "Open" IE will actually save the file into "TEMP" folder and
then open application (as if you double clicked on file). But if file with
that name already exists IE quietly appends [1] (or [2],...) to the name.

I do not know how to change that behavior andf most likely you can not....
George.

"David C" <dl*****@lifetimeinc.comwrote in message
news:OJ**************@TK2MSFTNGP06.phx.gbl...
George,
I did find a problem. Office 2007 opens a document from a previous
version of Office with a different name (e.g. it adds [1] to the name).
For example, if I open test.doc on a machine with office 2007 it opens it
as test[1].doc in a temporary directory. When it opens a file like
test.docx it opens the original. Is there any way to handle this?
Thanks.

David
"George Ter-Saakov" <gt****@cardone.comwrote in message
news:uT**************@TK2MSFTNGP04.phx.gbl...
>Show me the code.....

PS: There was a bug in IE 5.01 and it ignored the "attachment" .... But I
hope it's not the case here. Since we already have IE 7.

George.
"David C" <dl*****@lifetimeinc.comwrote in message
news:u4**************@TK2MSFTNGP06.phx.gbl...
>>George,
Thank you for that info. However, it still does not open in the native
program (Microsoft Word, Microsoft Excel, etc.). It opens it in the
browser where it cannot be edited.

David
"George Ter-Saakov" <gt****@cardone.comwrote in message
news:%2****************@TK2MSFTNGP05.phx.gbl.. .
You should add Content-Disposition to the header.
Like this Content-Disposition: attachment; filename="file.pdf"

So in C# code it's Response.AddHeader("Content-Disposition",
"attachment; filename=\"file.pdf\"");
And then do Response.WriteFile

Browser will be forced (thanks to "attachment" word) to pop up a window
offering to save file or open it in application.
George.
"David C" <dl*****@lifetimeinc.comwrote in message
news:ef**************@TK2MSFTNGP06.phx.gbl...
>I have an internal asp.net 2.0 web application where we display the
>contents of various files using Response.ContentType and
>Response.WriteFile() settings and it works great for .doc, .xls, etc.
>files. Now the users want to be able to open them in their native
>programs (Microsoft Word, Excel, etc.). I have done this with ActiveX
>before, but the company has moved to Office 2007 and I'm not sure the
>same process will work for the new docx, xlsx, etc. files. Can anyone
>give me some ideas on the best way to handle this? All users have
>Microsoft Office. Thanks.
>
David
>




Jun 27 '08 #7

P: n/a
I think if you set the content-disposition to inline and the content-type to
the proper mime type and then stream it down with Response.WriteFile or
BinaryWrite it will open automatically on it's application when you click
the link on a webpage.

As for using ActiveX, the process would be the same for any type of file
since you're just embedding the application on the webpage and letting it do
the rest.
"David C" <dl*****@lifetimeinc.comwrote in message
news:ef**************@TK2MSFTNGP06.phx.gbl...
>I have an internal asp.net 2.0 web application where we display the
contents of various files using Response.ContentType and
Response.WriteFile() settings and it works great for .doc, .xls, etc.
files. Now the users want to be able to open them in their native programs
(Microsoft Word, Excel, etc.). I have done this with ActiveX before, but
the company has moved to Office 2007 and I'm not sure the same process will
work for the new docx, xlsx, etc. files. Can anyone give me some ideas on
the best way to handle this? All users have Microsoft Office. Thanks.

David

Jun 27 '08 #8

This discussion thread is closed

Replies have been disabled for this discussion.