如何实现点击链接不用浏览器打开而是直接保存文件

如题所述

如果网站是asp 或者 jsp 可以加入一句类似的代码:

Response.ContentType = "application/octet-stream";

告诉浏览器,这个页面里面即使有 txt,doc,xls等文件的下载,你不许给我打开,给我保存!

如果是普通的网页,可以引入一个.js

lz可以看看这篇文章:

这篇文章所说的prototype.js文件在这里可以下载:

这应该是最简单的方法了,lz试试哦.

[补充:]

若要实现lz的意思
直接用 <a href="a.txt">down</a>的方法就很难处理了.

需要写一个 down.asp的文件来处理文件,保存到客户端.

download.asp 这么写

-------
<%

call downloadFile(replace(replace(Request("file"),"\",""),"/",""))

Function downloadFile(strFile)
' make sure you are on the latest MDAC version for this to work
' -------------------------------------------------------------

' get full path of specified file
strFilename = server.MapPath(strFile)

' clear the buffer
Response.Buffer = True
Response.Clear

' create stream
Set s = Server.CreateObject("ADODB.Stream")
s.Open

' Set as binary
s.Type = 1

' load in the file
on error resume next

' check the file exists
Set fso = Server.CreateObject("Scripting.FileSystemObject")
if not fso.FileExists(strFilename) then
Response.Write("<h1>Error:</h1>" & strFilename & " 文件不存在<p>")
Response.End
end if

' get length of file
Set f = fso.GetFile(strFilename)
intFilelength = f.size

s.LoadFromFile(strFilename)
if err then
Response.Write("<h1>Error: </h1>" 文件下载错误 "<p>")
Response.End
end if

' send the headers to the users browser
Response.AddHeader "Content-Disposition", "attachment; filename=" & f.name
Response.AddHeader "Content-Length", intFilelength
Response.CharSet = "UTF-8"
Response.ContentType = "application/octet-stream"

' output the file to the browser
Response.BinaryWrite s.Read
Response.Flush

' tidy up
s.Close
Set s = Nothing

End Function

%>

-----------------

然后用 <a href="download.asp?file=a.txt">down</a>
的方式进行下载,

我问过几个做asp的同学,他们在这个问题也没太好的解决方案.
期待ls其他高人吧...

参考: 中第一楼的方法.

Saga.maodrc /2009-5-1 17:36:31
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-19
这是在对方设置的 ,就是制作网页的人 ,看他要以什么形式 呈现给你 的!
第2个回答  2011-05-19
不知道你说的是网页制作还是网页内容保存,网页制作的话应该是链接指向的问题,网页内容的话应该是另存为——文本文档

360浏览器点击链接后直接保存网页而不打开怎么解决
解决方法:打开360浏览器右上角的“工具”,选择“选项”:       在选项页面选择“标签设置”:       看到标签设置的右边,新建标签里有个“点击链接打开新标签时,总是切换到新标签页”:  ...

360浏览器点击链接后直接保存网页而不打开怎么解决
解决方法:打开360浏览器右上角的“工具”,选择“选项”:在选项页面选择“标签设置”:看到标签设置的右边,新建标签里有个“点击链接打开新标签时,总是切换到新标签页”:把这个“点击链接打开新标签时,总是切换到新标签页”前打勾,自动保存:再打开新链接就发现会直接打开新建网页页面了。

怎样在桌面上弄一个链接 ??不用打开浏览器就单击桌面上的链接就可以进入...
回答:你选择你要链接的网站。。点收藏。。!添加下就行了。。!在把收藏的链接拖到桌面就可以了。!

网页制作时, 如何使被点击的文件直接下载, 而不是在浏览器中打开?
首先你要明白 ,我们通常上网的时候能通过浏览器打开的网页 ,其一般的扩展名为.htm .html .shtml .phtml .asp .aspx .php .jhp .jpg .swf 等等 ,认识到这一点就好办了,把文章标题对应的超连接地址直接用文章的连接路径,如*.txt 或*.doc或*rar或*.rm等等,这...

怎样设置浏览器才能下载文件而不是直接打开?
在下载设置页面中,找到 "下载位置" 或 "保存文件到" 的选项。确保该选项设置为保存文件到指定位置,而不是自动打开文件。如果你希望每次下载时都询问保存位置,可以选择 "始终询问您保存文件的位置" 的选项。保存设置后,关闭浏览器设置页面。完成上述设置后,下次在浏览器中点击cvi格式的表格链接时,...

如何在网页中实现点击链接下载HTM,而不是在浏览器中打开
再简单也没有的……装迅雷,出现迅雷专署的右击菜单,看到想要的连接就右击选择“使用迅雷下载全部链接”选项,然后就可以看到所有的网页链接、图片、音乐和视屏文件的下载选项,选择完毕就可以直接下载了~~

...怎么写代码能左键点击直接下载而不是在浏览器打开txt?
要想左键点击直接下载而不是在浏览器打开txt,其实,不是写代码能解决的问题,而是用户的系统配置问题。打开“我的电脑”,菜单栏里的“工具”--“文件夹选项”,切换到“文件类型”选项卡,鼠标定位到“已注册的文件类型”下的“TXT”,点击右下方的“高级”按钮,在弹出的对话框中勾选“下载后确认...

wps office 如何设置直接打开链接,而不是需要转跳到浏览器打开?
一、点击“首页”二、右边找到齿轮状图标,点击图标 三、点击“设置”请点击输入图片描述 四、找到“网页浏览设置”并点击 请点击输入图片描述 五、打开:WPS组件(文字、表格、演示)内的网页超链接,使用WPS浏览器打开 请点击输入图片描述 六、利用HYPERLINK可以直接点开 请点击输入图片描述 七、效果 请...

360浏览器点击链接后直接保存网页而不打开。
第一步:点击打开360浏览器,选择窗口右上方的“工具”按钮,再点击“Internet选项”第二步:在“安全”中的“Internet区域”单击“自定义级别”,在弹出的对话框中找到“下载——文件下载的自动提示”,点击“禁用”后并确定,重启IE浏览器即可解决问题。另外如果还有问题,建议你使用360安全卫士进行系统...

求html代码,怎么点击链接后直接下载文件,而不是在浏览器里打开呢?
这需要你去服务器管理后台将.mobileconfig添加MIME类型,MIME类型主要用于告诉客户端此文件用什么应用程序打开,或者直接目标另存为也行,打包成rar也可以。

相似回答