通过redmine repository看代码的一个问题
转:jak47
通过redmine repository看代码的一个问题
通过redmine repository看代码,有时候按review按钮,可是浏览器却弹出download画面, 导致不能和看DIFF一样直接在线观看,非常不方便。
经过google搜索, 有人回答原因如下。
ruby中如果string中有超过30%ascii码或者回车换行符以外的字符的话, 就会被认为是二进制数据,导致不能在网页中直接打开,而显示了Download画面。
解决方法
参照以下DIFF文件
Diff代码
- Index: app/controllers/repositories_controller.rb
- ===================================================================
- --- app/controllers/repositories_controller.rb (revision 1709)
- +++ app/controllers/repositories_controller.rb (working copy)
- @@ -102,7 +102,7 @@
- @content = @repository.cat(@path, @rev)
- show_error_not_found and return unless @content
- - if 'raw' == params[:format] || @content.is_binary_data?
- + if 'raw' == params[:format] || @content.include?("x00")
- # Force the download if it's a binary file
- send_data @content, :filename => @path.split('/').last
- else
复制代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论