解决rails4.0中send_file文件下载两次的问题
2024-08-27 18:15:53
之前在开发文件下载的功能时,我遇到了一个很奇怪的问题,点击下载链接,在chrome console中会出现两次请求,第一次返回200,下载的数据缓存在chrome的cache中,第二次返回304,直接从本地获取到下载的数据。查看服务器log,的确返回了两次数据。经过很长时间的定位与搜索,终于找到了问题的原因——rails4.0中引入了turbolink技术——当网页改变时,不会刷新整个页面而是直接替换掉html中的head和body——也就是说切换页面时不会看到浏览器的刷新操作。
在启用turbo的情况下,send_data是不能正常下载的,文件会总是在浏览器打开,解决方法便是禁用它。
解决方法:
在views中的haml文件中禁用turbolink。
link_to "下载", download_app_path(id), class: "btn btn-sm btn-primary", 'data-no-turbolink' => true
最新文章
- 2016huasacm暑假集训训练四 递推_C
- 代写assignment
- sphinx :undefined reference to `libiconv' 报错解决办法
- 深入浅出设计模式——组合模式(Composite Pattern)
- List对象分组排序算法
- 制作Linux下程序安装包——使用脚本打包bin、run等安装包
- 使用rgba色实现背景色透明
- sql盲注及其相关方法
- [DP] Rod-cutting problem
- (3)markdown软件的使用
- memcache搭建
- 二、OpenStack—keystone组件介绍与安装
- Chapter 1 An Overview of Computers and Programming Languages
- 【收藏】ETH以太坊各个环境的公共的RPC服务!!!
- iOS实现图片裁剪功能,基于TKImageView完善与讲解
- iOS逆向之TheOS
- [POI2011]Rotacje na drzewie (2)/[BZOJ3702]二叉树
- JAVA——泛型类和泛型方法(静态方法泛型)
- 基于jQuery实现的腾讯互动娱乐网站特效
- Android Studio中R报错(cnanot resolve symbol R)
热门文章
- Eclipse IDE下的Spring框架使用简单实例
- vue中回到顶部
- UTF-8字符「EF BF BD」-备胎
- UVA 111(LCS问题)
- 【其它算法】Face The Right Way
- BZOJ 1115 [POI2009]石子游戏Kam(阶梯博弈)
- Ubuntu 16.04下没有/var/log/messages文件问题解决
- Ubuntu 16.04重启Nautilus
- 一种计算MD5的实现方法
- (转)探索C++的秘密之详解extern ";C";,这就是为什么很多.lib被我们正确调用确总是无法解析的。