关于web下载链接的问题?

青瓜蛋子 2017-12-11 11:03:51
最近在搞web,需要用户点击下载文件,通过<a href="/download/test.rar" id="download" >下载</a>的方式倒是可以实现但是会出现个问题,见图:
chrome

360

迅雷

如图所示 ,下载链接被完美显示,但是我却不想显示,着重研究了两天,故请教大家给出点解决办法?

我把我测试过的想法说出来,供大家参考一下:

1.首先我想到的就是加密url,但是转眼一想,加密过的url肯定找不到文件,要是再解密,url不是照样一目了然,岂不是白费功夫,果断放弃。当然也许会有办法,但我确实想不到。

2.采用a标签的download属性<a href="/download/test.rar" id="download" download=“Example.rar”>,但是这只能更改下载文件的名字,url仍是无变化,有技术洁癖的我果断放弃。

3.改变url,采用Zip.js的方法,就可以达到这种效果

正符合我意。果断测试测试...
Zip.js下载地址:http://gildas-lormeau.github.io/zip.js/
在线DEMO:http://gildas-lormeau.github.io/zip.js/demos/demo1.html

PS:测试过程中在本地测试了一整天,总是不行,及其郁闷,最终发现这种方法只能在服务器中测试,本地会报错的,谨记啊。

测试中发现,demo中采用的是<input type="file" onchange=“”>的方法先选择文件,再进行压缩,最后下载,可是我的文件是再服务器中,不需要用户选择,点击后就直接下载。所以我就想到将<input type="file" onchange=“”>隐藏,并自动添加文件,这不就可以了,可惜我发现inputfile的value属性不能赋值。看来必须先读取文件到内存中才行。

3.1:采用FileSystemObject对象的方法读取文件

var fso = new ActiveXObject("Scripting.FileSystemObject");
var f1 = fso.GetFile("c:\\myjstest.txt",true");

可是这种方法只能在ie浏览器中使用,chrome等都不兼容,也只能放弃,终止读取不到文件,这种zip.js方法有点鸡肋啊。

终止我还考虑过提交表单、另存为、清楚记录扥等,都没达到目的。也许是我的方法不对,希望有经验的的给指导指导,怎么才能让用户只能通过点击才可以下载,并且下载地址无法复制使用。


...全文
118 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
你的Web服务器和应用到底能够支持多少并发用户访问?在出现大量并发请求的情况下,软件会出现问题吗?这些问题靠通常的测试手段是无法解答的。本文介绍 了Microsoft为这个目的而提供的免费工具WAS及其用法。另外,本文介绍了一种Web应用的性能优化方法,并利用WAS测试了它的性能改善程度。 随着服务器端处理任务的日益复杂以及网站访问量的迅速增长,服务器性能的优化也成了非常迫切的任务。在优化之前,最好能够测试一下不同条件下服务器的性能表现。找出性能瓶颈所在是设计性能改善方案之前的一个至关紧要的步骤。    本文介绍Microsoft的Web Application Stress Tool(WAS,Web应用负载测试工具)在Web服务器性能测试中的应用(注:Stress基本含义为“重压;压力”等,本文称之为“负载”)。另 外,我们还将通过WAS评估一种相对简单的网站性能改善方法,这种方法的基本思想是在服务器上生成静态的HTML页面、避免过多的数据库调用。   负载测试是任何Web应用的开发周期中一个重要的步骤。如果你在构造一个为大量用户服务的应用,搞清楚你的产品配置能够承受多大的负载非常重要。如果你在构造一个小型的Intranet网站,测试能够暴露出最终会导致服务器崩溃的内存漏洞以及竞争情况。 无论是哪种情形,花些时间对应用进行负载测试可以获得重要的基准性能数据,为未来的代码优化、硬件配置以及系统软件升级带来方便。即使经费有限的开发组 织也可以对它们的网站进行负载测试,因为Microsoft的WAS是可以免费下载的。WAS要求Windows NT 4.0 SP4或者更高,或者Windows 2000。为了对网站进行负载测试,WAS可以通过一台或者多台客户机模拟大量用户的活动。WAS支持身份验证、加密和Cookies,也能够模拟各种浏 览器类型和Modem速度,它的功能和性能可以与数万美元的产品相媲美。如果你对WAS和Microsoft的另外一个测试工具Web Capacity Analysis Tool (WCAT)之间的差别感兴趣,可以访问Microsoft Web工具的比较页面。 要对网 站进行负载测试首先必须创建WAS脚本模拟用户活动。我们可以用下面四种方法之一创建脚本:通过记录浏览器的活动;通过导入IIS日志;通过把WAS指向 Web网站的内容;或者手工制作。图1所显示的是通过记录浏览器事件生成的脚本的一部分,网站是Microsoft的Duwamish Book Store。Duwamish是Microsoft开发的电子商务Web应用示例,从Duwamish网站的“Phase 4”链接可以下载这个软件包。下载包中包含了它自己的WAS测试脚本。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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