猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
js 能够实现在下载文件的时候调系统的选择下载路径的弹窗吗
最近项目有个需求,是在浏览器里点击下载按钮时,能弹出文件下载到哪个路径的对话框;请教下,这个功能js有可能通过调用某个接口实现吗
慕姐8265434
浏览 4148
回答 2
2回答
德玛西亚99
这个弹框不是js调用哪个接口实现的,弹框的出现是浏览器的行为,一般都是通过后端实现的。以java为例,点击“下载”按钮,向服务器发送下载请求,服务器接受请求并处理,重点来了,服务器处理完要向前端发response,这时候需要设置特定的response的header(我感觉浏览器出现选择路径等信息的对话框就是按照这个header判断的,纯粹个人猜测,有准确知道的,欢迎留言)核心代码大概是这个样子://设置ContentType response.setContentType("application/octet-stream; charset=utf-8"); //处理中文文件名中文乱码问题 String fileName=new String(file.getName().getBytes("utf-8"),"ISO-8859-1"); response.setHeader("Content-Disposition", "attachment; filename=" + fileName); IOUtils.copy(new FileInputStream(file), response.getOutputStream());我之前有写过下载文件,浏览器弹出下载框的需求,一开始也是纠结于这个下载框是怎么出现的,后来发现,我的点错了,最后使用的上面的代码实现的,希望有所帮助
0
0
0
倚天杖
这个是浏览器决定的, 比如chrome 默认用户下载目录, 不需要确认其它浏览器有些在下载时可以自己选择保存位置
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
JavaScript
Html5
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续