解决rails4.0中send_file文件下载两次的问题
2017-06-09 16:04
429 查看
之前在开发文件下载的功能时,我遇到了一个很奇怪的问题,点击下载链接,在chrome console中会出现两次请求,第一次返回200,下载的数据缓存在chrome的cache中,第二次返回304,直接从本地获取到下载的数据。查看服务器log,的确返回了两次数据。经过很长时间的定位与搜索,终于找到了问题的原因——rails4.0中引入了turbolink技术——当网页改变时,不会刷新整个页面而是直接替换掉html中的head和body——也就是说切换页面时不会看到浏览器的刷新操作。
在启用turbo的情况下,send_data是不能正常下载的,文件会总是在浏览器打开,解决方法便是禁用它。
解决方法:
在views中的haml文件中禁用turbolink。
在启用turbo的情况下,send_data是不能正常下载的,文件会总是在浏览器打开,解决方法便是禁用它。
解决方法:
在views中的haml文件中禁用turbolink。
link_to "下载", download_app_path(id), class: "btn btn-sm btn-primary", 'data-no-turbolink' => true
相关文章推荐
- 解决rails4.0中send_file文件下载两次的问题
- 执行文件下载Java 调用 FFMPEG 命令时用 url 作为输入源,Linux 下出现 “no such file or directory” 问题的解决
- lftp下载文件无法覆盖,提示" file already existst and xfer:clobber is unset" 问题解决
- Linux解决问题篇——ftp上传文件(使用put)时,permission denied,下载文件(使用get)时,failed to open file
- FTPClient调用retrieveFileStream导致线程挂起(防火墙问题);下载文件小于实际文件问题解决
- Android webview通过http get下载文件下载两次的问题及解决方法
- lftp下载文件无法覆盖,提示" file already existst and xfer:clobber is unset" 问题解决
- Android开发中,使用线程下载apk文件,出现FileNotFound的问题,解决办法
- windows2003系统的iis不能下载exe文件问题的解决
- 解决在Windows2003Server和IIS 6.0中对于上传下载文件大小限制的问题
- ASP.Net中下载文件遇到了一个问题--对话框弹出两次
- iis 6.0 中一些文件无法下载问题解决
- 实现文件下载与中文文件名乱码问题解决
- 彻底解决中文名文件下载和下载文件内容乱码问题!!!!!
- VSS 提交大文件出现 error from reading file 问题解决!
- jsp实现文件下载与中文文件名乱码问题解决
- 解决IE中部分文件格式不能下载的问题(附MIME大全)
- JSP 文件下载的相对完整代码(解决中文问题和Weblogic报错)
- 下载文件不完整,安装出错的问题解决
- IIS6.0下ISO 、GHO等文件不能下载问题的解决方法