`

ruby on rails 文件下载send_file、send_data

    博客分类:
  • ruby
阅读更多

运行环境,Mac 、ubuntu

                  rails 4.2.1

昨天刚做了rails文件上传,今天要做下载文件,没想到so easy 啊

1。页面添加下载链接

= link_to '下载', admin_file_download_path(resource.id)

 2.controller里

def file_download
    resource = Resource.find(params[:format])
    send_file "#{Rails.root}/public#{resource[:file_path]}"//下载文件的路径
 end

3. routes.rb里添加路由

get '/admin/file_download'

 ok , 完成!有没有很简单

4.如果你想指定下载后文件的名字 

 send_file(path, :filename => 'yourfilename')

然后再来看看 send_data 的使用方法

data = "我的文件内容"
send_data( data, :filename => "filename.txt" ) //注意这时候的:filename不能省,否则会出现下载回来的东西打不开

 此外还可以

data = "我的文件内容"
file = "filename.txt"
File.open(file, "w"){ |f| f << data }
send_data(data)

 

 

 

 

 

分享到:
评论

相关推荐

    ruby导出csv文件

    `render_to_string`用于将视图模板渲染成字符串,`send_data`则将这个字符串作为CSV文件发送给客户端,并设置文件名为当前日期。 总之,通过`FasterCSV`库,我们可以轻松地在Ruby中导出CSV文件,无论是简单的数据...

    CVE-2019-5418:CVE-2019-5418-Ruby on Rails上的文件内容披露

    2. 如果无法立即升级,可以考虑临时禁用ActionDispatch中的`send_data`和`send_file`方法,或者添加自定义的过滤器来限制文件路径的访问。 3. 对于公开的Rails应用,应确保所有敏感文件都不在Web根目录下,以防止...

    rails-exporter-源码.rar

    3. 文件生成与下载:Rails 内置的 send_data 和 send_file 方法可用于在服务器端生成文件后发送到客户端下载。 五、源码学习步骤 1. 阅读项目 README 文件,了解基本用法和安装步骤。 2. 分析 models 文件,理解...

    ROR 文件的上传与下载

    在Ruby on Rails(简称ROR)框架下,处理文件的上传与下载是一项常见的需求,尤其是在构建包含媒体内容的应用程序时。本文将基于给定的文件信息,详细阐述如何在Rails应用中实现文件的上传与下载功能,包括数据库...

    prawn_rails_demo:prawn_rails 插件的演示

    在控制器中,你可以使用`send_data`或`send_file`方法,指定PDF内容和文件名,使用户能够下载或直接预览。 5. **模板语言支持**: Prawn Rails支持ERB和Haml模板语言,这意味着你可以在PDF模板中使用Ruby代码,...

    ruby初学者教程(对初学者很有帮助)

    - **应用场景**:Ruby在Web开发领域尤其是通过Ruby on Rails框架的应用更为广泛;Python则在科学计算、数据分析等领域拥有更强的优势。 #### 二、Ruby编程环境搭建 **2.1 安装Ruby** - **Windows平台**:可以通过...

    Ruby程序中发送基于HTTP协议的请求的简单示例

    def send_data_ssl(url, data) url = url + data $logger.info(url) begin uri = URI.parse(URI.escape(url)) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true # 日志记录 if ($logger != ...

    CodeIgniter:php敏捷开发框架web快速开发详解

    为了加快下载速度,常见的做法是在下载之前压缩下载文件。你可能不知道如何处理。但 CI 可以方便地让你用 4 行代码完成此功能: 复制代码到剪贴板PHP 代码$name = 'mydata1.txt'; $data = 'the contents of my file...

Global site tag (gtag.js) - Google Analytics