Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / General / April 2008

Tip: Looking for answers? Try searching our database.

Client and Office from asp.net

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
David C - 24 Apr 2008 19:19 GMT
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
George Ter-Saakov - 24 Apr 2008 19:38 GMT
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.

>I have an internal asp.net 2.0 web application where we display the
>contents of various files using Response.ContentType and
[quoted text clipped - 6 lines]
>
> David
David C - 25 Apr 2008 17:44 GMT
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
> You should add Content-Disposition to the header.
> Like this Content-Disposition: attachment; filename="file.pdf"
[quoted text clipped - 19 lines]
>>
>> David
George Ter-Saakov - 25 Apr 2008 17:54 GMT
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.

> George,
> Thank you for that info.  However, it still does not open in the native
[quoted text clipped - 25 lines]
>>>
>>> David
David C - 25 Apr 2008 17:58 GMT
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
> Show me the code.....
>
[quoted text clipped - 32 lines]
>>>>
>>>> David
David C - 25 Apr 2008 18:06 GMT
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
> Show me the code.....
>
[quoted text clipped - 32 lines]
>>>>
>>>> David
George Ter-Saakov - 25 Apr 2008 18:44 GMT
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.

> George,
> I did find a problem.  Office 2007 opens a document from a previous
[quoted text clipped - 41 lines]
>>>>>
>>>>> David
Fernando Rodriguez, MCP - 28 Apr 2008 22:44 GMT
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.

>I have an internal asp.net 2.0 web application where we display the
>contents of various files using Response.ContentType and
[quoted text clipped - 6 lines]
>
> David

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.