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

JavaScript014

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,文件就自动下载了

wendow.open如果里面放入的是文件,肯定是会下载文件的。解决方法如下:

1、首先新建一个html页面,命名为test.html。

2、然后window.pen()方法的参数可以为任意的网址,默认情况下,是在新的浏览器窗口打开链接地址。下面代码实现了点击按钮,在新窗口打开百度网站的首页。

3、window.pen()方法第一个参数是网址,第二个参数是打开方式设置,主要有以下几种:_blank :在新窗口打开链接。_parent :在父框架窗口打开链接。_self :在当前的窗口打开链接。_top : 在框架窗口的最上一个窗口打开链接。

4、window.open()方法第三个参数主要用于设置窗口的属性,以固定的宽度和高度窗口打开链接。

5、最后windw.open()方法不仅可以在js函数内使用,还可以直接在html标签上由事件调用,下面代码在button标签内使用onclick点击事件调用window.open()方法。

js里面的话只要window.open(url)就可以了另外你想下载文件的话html其实直接写成这种<a href="url">点击下载</a>也是可以的,url里面写绝对路径;