关于html的下载功能

新项目基本告一段落,第一次完成前后端分离的集成,遇到的坑自然不少。

来说说第一天遇到的其中一个坑吧。

——关于下载的问题。。。

以前的做法,大家都喜爱用<a></a>标签吧。而我一开始也是用a标签,href属性放在图片的地址来模拟下载的功能。结果发现,这个鬼东西,你点击他,直接是打开一张新图片,并不是下载的意思。

然后,我看了一篇文章,又打开了本宝宝的新世界大门。

download属性

<a>标签必须有href的属性。浏览器将自动检测正确的文件扩展名并添加到文件 (.img, .pdf, .txt, .html, 等等)。

举个例子举个例子:

<a href="ccc.jpg" download>

其实你也可以自定义下载的文件名的

<a href="ccc.jpg" download="wageSoCute.jpg">

但其实这种方法也是有很大的局限性的。

其一就是其兼容性,根据W3C提供的数据。

 

 

这样下来看来这个属性暂时的实用性其实一般般。

还有一个坑是我还没有踩到的,就是跨域问题,等我踩了再去更新下。。

总结一句话,这个download是个好东西,但是看起来支持性并不好,不知道他未来的发展会怎么样呢,毕竟现在也还是一个a标签的新属性,再等等看吧,现在至少知道有这么个东西就差不多了。

转载于:https://www.cnblogs.com/w-age666/p/5458342.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Php 生成静态html文件 总结有如下三种方法 1,下面使用模版的一个方法! <?php $fp = fopen ("templets.html","a"); if ($fp){ $fup = fread ($fp,filesize("templets.html")); $fp2 = fopen ("html.shtml","w"); if ($fwrite ($fp2,$fup)){ $fclose ($fp); $fcolse ($fp2); die ("写入模板成功"); } else { fclose ($fp); die ("写入模板失败!"); } } ?> 简单的将模板写进一个文件中存为html. 2,按时间生成html文件名 <? $content = "这是一个以日期时间为文件名的静态生成网页的测试文件,文件名格式一般为<font color=#ff0000>年月日时分秒.html</font>"; $date = date('YmdHis'); $fp = fopen (date('YmdHis') . '.html',"w");//本函数可用来打开本地或者远端的文件 'w' 开文件方式为写入,文件指针指到开始处,并将原文件的长度设为 0。若文件不存在,则建立新文件。 if (fwrite ($fp,$content)){//格式是.int fwrite(int fp(文件名), string string(内容), int [length](长度));本函数将字符串 string 写入文件资料流的指针 fp 上。若有指定长度 length,则会写入指定长度字符串,或是写到字符串结束。 fclose ($fp);//函数用来关闭已经打开的文件的指针 fp。成功返回 true,失败则返回 false。 die ("写入模板成功"); } else { fclose ($fp); die ("写入模板失败!"); } echo ($content); ?> 3,下面为转换文件名的一个方法 <?php $s_fname = "93e.php"; $o_fname = "93e.htm"; ob_end_clean(); ob_start(); include($s_fname); $length = ob_get_length(); $buffer = ob_get_contents(); $buffer = eregi_replace("r","",$buffer); ob_end_clean(); $fp = fopen($o_fname,"w+"); fwrite($fp,$buffer); fclose($fp); ?> 这样就可以把 93e.php转化为静态的HTML文件了 要注意的是待转换的文件里不能有 ob_end_clean();和 ob_start();语句。 且目录要有写权限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值