js 弹出窗下载文件 应该这么实现?

JavaScript08

js 弹出窗下载文件 应该这么实现?,第1张

js中打开下载文件,弹出下载文件框:

假设downloadUrl 为下载地址,即平常写在a标签里面的href链接地址;

<a href="downloadUrl " target="blank"/>

window.open(downloadUrl)

新窗口打开下载文件框

window.location.reload()

刷新窗口。

这个下载不是程序语言和JS 实现的 用超链接就行 href指定你的文件 例如<a href="test.rar">下载</a>(注意你的文件路径一定要写对) 当浏览器不认识这个文件时 就会自动弹出下载框了

如果你用了ASP动态语言的话可以用这个方法:

点击链接后把f和n参数传给download函数就可以首先下载了

<%

function download(f,n)

'f文件全路径,n下载文件的文件名

on error resume next

Set S=CreateObject("Adodb.Stream")

S.Mode=3

S.Type=1

S.Open

S.LoadFromFile(f)

if Err.Number>0 then

Reaponse.status="404"

else

Response.ContentType="application/octet-stream"

Response.AddHeader "Content-Disposition:","Attachmentfilename="&n

Range=Mid(Request.ServerVariables("HTTP_RANGE"),7)

if Range="" then

Response.BinaryWrite(S.Read)

else

S.Postion=Clng(Split(Range,"-")(0))

Response.BinaryWrite(S.Read)

end if

end if

Response.end

end function

dim filename

d=replace(request("d"),"../","")

d=replace(d,".asp",".err")

'必须防止下载asp文件。

filename="down/"&d

'response.write filename

call download(server.MapPath(filename),d)

%>

上面用的是服务端的方法。

如果你用的完全是静态语言,那就不能用程序来实现了,因为静态语言都是客户端代码,浏览器记录了用户的操作,语言是没法修改的,就只有两种方法了:

1.把pdf都压缩成zip,这样转过去就是下载了

2.修改浏览器设置,这只能解决一个客户端。在浏览器的工具栏上点击:工具-》Internet选项-》程序-》管理加载项,然后把PDF禁用