龙空技术网

java文件下载的坑,浏览器下载不能使用ajax?

花落了知多少 158

前言:

当前看官们对“jsajax多线程”大概比较珍视,大家都想要剖析一些“jsajax多线程”的相关资讯。那么小编在网上网罗了一些关于“jsajax多线程””的相关内容,希望朋友们能喜欢,大家一起来学习一下吧!

#头条创作挑战赛#java开发者经常会遇到需要编写文件下载的功能,应用场景较多,我在这里分享两个通过字节流下载文件的注意事项。

第一:如何获取字节流?

通常使用文件流FileInputStream,这样的前提是能获取到本地或者远程服务器上的文件路径,就可以通过文件打开文件流;

File file=new File("文件路径"); //一般是绝对路径

FileInputStream inputStream=new FileInputStream(file);

//还可以通过BufferedInputStream加入缓冲区

。。。。

还有一种可能就是无法获取到文件在服务器的绝对路径,只能得到虚拟访问地址,这是就要采用另一种方式得到流:

URL url=new URL("访问地址");

InputStream inputStream=url.openStream();

第二:如何使用浏览器接收文件?

首先肯定是把响应头设置好了,在这里提示一下不要使用ajax请求下载文件,你将不会得到任何文件,直接使用跳转的形式(比如window.location.href),浏览器就会接收到文件,如果需要判断文件下载失败的情形,建议新开一个线程。

标签: #jsajax多线程