一个连接文件,下载文件时点右键“目标另存为”存下来的变成页面,而不是文件本身,这是什么问题?代码如

<a href="../../GcPj/myspace/548/1294376819500.txt" >下载</a>
点左键会出现两种情况,
1是没装下载软件时,在网页上直接显示出文件内容,
2有装下载软件时(如迅雷)会提示下载
右键--目标另存为
显示是下载一个页面
问题1能不能做到单击左键时直接跳出目标另存为的窗口?代码怎么写?
问题2右键目标另存为为什么不是存文件本身?代码应该怎么改?

对于问题1,单击左键的时候直接跳出目标另存为,这是在浏览器不能直接解析该文件,所以提示你

需要下载该文件,这时候就弹出了一个另存为的窗口。

你可以试一下,如果a标签的href属性指向的是一张图片,浏览器会直接解析,并出现在浏览器中显示

还有一个例子就是,如果你的href指向的是一个js的文件,对于ie浏览器和google浏览器当单击的

时候处理的方式是不同,在ie里面提示你需要下载,而在google的chrome浏览器中,就会直接

显示js的内容,这和浏览器有关。

我猜楼主的意图是想弄个下载的页面吧。

其实是要将a标签的链接地址指向该需要被下载的资源就ok了,只要能让该浏览器不能直接解析

该资源,就会提供下载的页面。

所以你只要将资源压缩称为rar的文件,然后在a标签中将href属性指向该rar压缩包,就能够提供

下载。这是下载的基本原理。

如果出现弹出下载工具,这是应为下载工具本身就监测了某些文件的类型,一旦监测到请求的

文件资源符合要求,就会启动下载工具。在迅雷7里面现在就可以设置监测的文件的后缀名。

对于问题2

在操作目标另存时候,存的不是文件本身的情况的话,这应该说明该连接指向的不是直接

指向需要下载的文件的url地址。追问

辛苦了,打了这么多字
第一,我要下载的文件类型很多,要看上传人具体传了什么文件,图片,TXT,DOC都有可能,怎么样才能让其在没有装下载工具时能直接下载呢?下载工具中也是需要设置后缀了他才能认得,我要的就是,没有下载工具时,点左键后能直接出现右击目标另存为的效果~!
第二:就上述的代码,指向的就是文件本身不是url地址,但另存为的时候存的是链接后的地址。这是什么问题,如何解决?

追答

呵呵,我是做web开发的!

只要你提供了资源的url地址,就能够让用户下载。不管是图片还是txt还doc等等。浏览器

解析你代码中的url地址的时候就会找到该资源,如果是当前浏览器能够显示的东西,那就会

显示在浏览器的窗口中。如果不能才会提示下载。如果已经显示在了浏览器中就可以在

浏览器的工具菜单中单击保存来下载该文件资源。

如果你不想要浏览器解析任何文件,希望直接下载的话,那么要看你用的是什么服务器端的语言了

需要用相关的文件操作,来提供下载。

这里在网上有一篇文章也许对你有帮助是java的

http://www.programfan.com/club/showtxt.asp?id=259951

对于问题二,你可否提供具体的例子?

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答