javascript h5 app(react.js)中如何下载附件(url链接形式)并在新窗口中打开附件?

JavaScript013

javascript h5 app(react.js)中如何下载附件(url链接形式)并在新窗口中打开附件?,第1张

我们只要用content创建一个ObjectURL并赋值给aLink即可解决文件类型的限制问题。

文件的自动下载也挺好办,自己构建一个UI点击事件,再自动触发下,就能实现自动下载啦。

现在来看看最终代码:

代码如下:

function downloadFile(fileName, content){

var aLink = document.createElement('a')

var blob = new Blob([content])

var evt = document.createEvent("HTMLEvents")

evt.initEvent("click", false, false)//initEvent 不加后两个参数在FF下会报错, 感谢 Barret Lee 的反馈

aLink.download = fileName

aLink.href = URL.createObjectURL(blob)

aLink.dispatchEvent(evt)

}

现在,只要一调用downloadFile,文件就自动下载了

在按钮上写属性 onclick="函数名()" ,作用是绑定click事件

<input type="button" onclick="Click()" value="Download" />

然后在脚本处写上对应的函数即可,在函数中跳转到相应的文件路径就行。如

function Click(){

    window.location.href="文件的url地址"

}

有两种方法,

第一种:

就是在你的网页直接加入js代码.<script language="javascript" type="text/javascript">你的js代码.</script>

第二种:

把你的*.js文件,跟你的网站首页(可能是index.html),同放在一个目录下。然后在你的html里的<body>和</body>之间任意位置放下面这条代码进去(提示*.js,这个星号*是文件的名字,你可以随便起):

<script language="javascript" type="text/javascript" src="*.js"></script>