急!如何控制word文件直接用word打开还是下载

gaojg 2003-10-15 10:27:37
急!如何控制超级连接的word文件直接用word打开还是下载
...全文
76 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2003-10-18
  • 打赏
  • 举报
回复
使IE下载WORD文档
蓝色理想


下面是一个ASP解决方案:

文件名:Download.asp

<%
Dim Stream
Dim Contents
Dim FileName
Dim FileExt
Const adTypeBinary = 1
FileName = Request.QueryString("FileName")
if FileName = "" Then
Response.Write "无效文件名."
Response.End
End if
' 下面是不希望下载的文件
FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)
Select Case UCase(FileExt)
Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
Response.Write "受保护文件,不能下载."
Response.End
End Select
' 下载这个文件
Response.Clear
Response.ContentType = "application/octet-stream"
Response.AddHeader "content-disposition", "attachment; filename=" & FileName
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
Stream.LoadFromFile Server.MapPath(FileName)
While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End
%>
使用:Download.asp?FileName=/Files/MY.doc
把你的DOC文件放到根目录Files下,你也可以放到其它地方了。

如:
<A HREF="Download.asp?FileName=/Files/MY.doc">点击下载WORD文档</A>

yllaji 2003-10-18
  • 打赏
  • 举报
回复
控制http头部的content type:如果为application/msword

Response.ContentType="application/msword"

而且 客户端必须安装 word 才可以
coolboy0000love 2003-10-18
  • 打赏
  • 举报
回复
不错,有用。
顶~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
eliphe 2003-10-18
  • 打赏
  • 举报
回复
楼上的都说是了,那就试一下吧.
xupiao 2003-10-18
  • 打赏
  • 举报
回复
同意
樓主試一下吧,
如果可以了就結帖
dafei0320 2003-10-18
  • 打赏
  • 举报
回复
我也试了!!!!!!!!!!!!!
控制http头部的content type:如果为application/msword,则打开,如果为application/octet-stream则下载。
qdubit 2003-10-17
  • 打赏
  • 举报
回复
同意二楼的,我也这么用过,没问题的,楼主试试吧。
zykj_2000 2003-10-16
  • 打赏
  • 举报
回复
同意楼上,可以一试
我没有试过,呵呵
ntko 2003-10-16
  • 打赏
  • 举报
回复
控制http头部的content type:如果为application/msword,则打开,如果为application/octet-stream则下载。
arhui007 2003-10-15
  • 打赏
  • 举报
回复
var ExcelSheet;
var wordflag=0;
var myRange
function OpenWord()
{
onerror=errormsg;
ExcelSheet = new ActiveXObject("Word.Application");
ExcelSheet.Application.Visible = true;
var mydoc=ExcelSheet.Documents.Add("",0,1);
myRange =mydoc.Range(0,1)
if(myiframe.document.body.innerText=="")
{
myiframe.document.body.innerText=" ";
}
var sel=myiframe.document.body.createTextRange()
sel.select()
myiframe.document.execCommand('Copy')
sel.moveEnd('character')
myRange.Paste();
ExcelSheet.ActiveWindow.ActivePane.View.Type=3
wordflag=1
}

function LoadWord()
{
onerror=errormsgl;
if(wordflag==0)
{
alert("请先在Word中打开文档编辑后再更新")
return true;
}
ExcelSheet.Selection.WholeStory()
ExcelSheet.Selection.Copy()
ExcelSheet.Selection.Delete()
myRange.Paste()
myiframe.document.open();
myiframe.document.write("");
myiframe.document.close();
myiframe.document.execCommand('Paste')
restoreimg()
}

function restoreimg()
{
var theimgstr=myiframe.document.body.innerHTML
var re=/(v:imagedata)/gi
theimgstr=theimgstr.replace(re,"img")
var re=/(o:href)/gi
theimgstr=theimgstr.replace(re,"src")
while(theimgstr.indexOf("\<v:shape")!=-1)
{
var starpos=theimgstr.indexOf("\<v:shape")
var endpos =theimgstr.indexOf("\>",starpos)+1
starpos=starpos
var midstr=theimgstr.substring(starpos,endpos)
theimgstr=theimgstr.replace(midstr,"")
}
myiframe.document.body.innerHTML=theimgstr
theimgstr=myiframe.document.body.innerHTML
if(theimgstr.indexOf("src\=\"file:\/\/\/")!=-1)
{
alert("程序发现您在Word中插入了本地图片\r请在编辑框中重新插入\r否则文档保存后图片将不可见")
}
}

function errormsg()
{
alert("请确认是否装有Word如果装有请确认\r是否IE的安全选项\"本地Intranet\"级别\r已被设为\"低\"否则将不能使用此功能,步骤如下:\r工具-\>Internet选项->安全\r-\>本地Intranet-\>自定义级别-\>第二项选为启用或提示");
return true;
}

function errormsgl()
{
alert("Word没打开或者Word已经关闭!请打开Word编辑后再更新!")
return true;
}
=============================================================
T3电脑社区
http://t3.xiang5.com
=============================================================

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧