如果让word文档不直接打开而是出现下载提示框?

时间:2021-08-05 06:15:33
对于一个.doc或.xls文档,如果系统里安装了office,在页面上点击了之后会直接使用word或excel打开这个文档。我希望不要直接开打文档,而是出现下载提示框,并且下载文档的地址应该是http://server/mydoc.doc而不是http://server/mydoc.asp?id=?。我发现Yahoo电邮里的附件是这样的,但怎么也实现不了。

另外,我想让上传了以后的文档(.doc,.xls等)直接转换成HTML或图形存储,有没有什么好的办法?在ASP中好象不能创建word对象,所以对于DOC文件我是屡试不爽!!我试过OmniFormat软件进行自动转换,可是也不太理想,不但效率低,而且容易出错。

请各位大虾多多赐教,谢谢啦!

15 个解决方案

#1


response.content "attachment="filename
只适用于从数据库读出

#2


谢谢,搞定了。
对于第二个问题,不知道有没有什么好的招数呢?

#3


可以创建吧
word.application

#4


我试过好多次了,创建不了。但是excel.application却可以。

#5


你的答案:
http://expert.csdn.net/Expert/topic/524/524836.xml
http://expert.csdn.net/Expert/topic/597/597919.xml

#6


关于附件的问题已经OK了,现在的问题是,如何在服务器端直接读出WORD文档的内容,因为我在服务器端无法创建Word.Document对象!

#7


引自http://expert.csdn.net/Expert/topic/524/524836.xml
<%
response.ContentType="application/x-msword"

Const adTypeBinary = 1
Dim strFilePath

strFilePath = "c:\mainmenu.doc"

Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile strFilePath

Response.BinaryWrite objStream.Read

objStream.Close
Set objStream = Nothing
%>

#8


各位老兄好,第一个问题是怎么解决的?有谁能给我具体讲一下吗

#9


1

#10


good.

#11


与ministrybill(生命的烙印)
讨论:
下载的原文档文件名不是mainmenu.doc,而是调用是文档名如word.asp ,内容是mainmenu.doc

#12


我倒是解决了下载文件名的问题:
Response.AddHeader "Content-Disposition", "attachment;filename=mainmenu.doc"

可是弹出的asp窗口在下载完后如何关闭?由于用了binaryWrite并且Response.flush,其他的代码都不能输出了。

#13


up

#14


up

#15


up

#1


response.content "attachment="filename
只适用于从数据库读出

#2


谢谢,搞定了。
对于第二个问题,不知道有没有什么好的招数呢?

#3


可以创建吧
word.application

#4


我试过好多次了,创建不了。但是excel.application却可以。

#5


你的答案:
http://expert.csdn.net/Expert/topic/524/524836.xml
http://expert.csdn.net/Expert/topic/597/597919.xml

#6


关于附件的问题已经OK了,现在的问题是,如何在服务器端直接读出WORD文档的内容,因为我在服务器端无法创建Word.Document对象!

#7


引自http://expert.csdn.net/Expert/topic/524/524836.xml
<%
response.ContentType="application/x-msword"

Const adTypeBinary = 1
Dim strFilePath

strFilePath = "c:\mainmenu.doc"

Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile strFilePath

Response.BinaryWrite objStream.Read

objStream.Close
Set objStream = Nothing
%>

#8


各位老兄好,第一个问题是怎么解决的?有谁能给我具体讲一下吗

#9


1

#10


good.

#11


与ministrybill(生命的烙印)
讨论:
下载的原文档文件名不是mainmenu.doc,而是调用是文档名如word.asp ,内容是mainmenu.doc

#12


我倒是解决了下载文件名的问题:
Response.AddHeader "Content-Disposition", "attachment;filename=mainmenu.doc"

可是弹出的asp窗口在下载完后如何关闭?由于用了binaryWrite并且Response.flush,其他的代码都不能输出了。

#13


up

#14


up

#15


up