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());我之前有写过下载文件,浏览器弹出下载框的需求,一开始也是纠结于这个下载框是怎么出现的,后来发现,我的点错了,最后使用的上面的代码实现的,希望有所帮助

倚天杖

这个是浏览器决定的, 比如chrome 默认用户下载目录, 不需要确认其它浏览器有些在下载时可以自己选择保存位置
打开App,查看更多内容
随时随地看视频慕课网APP