`
gavinhhy
  • 浏览: 3491 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

rails 中上传文件的方法

阅读更多

在做web前端时,难免会遇到要让用户上传文件的时候,而rails 提供了一个非常好用的gem -- 

carrierwave

第一步:安装gem-carrierwave

 

第二步:项目中需要有一个叫upload的 generate (假定我们要上传一个apk)

$ rails g uploader Apk

 这一步会创建一个app/uploaders/apk_uploader.rb

 

第三步:在对应的数据库中添加对应的字段(我的是versions)

 

$ rails g migration AddApkToVersions apk:string 

    (数据表中就多了一个apk字段)

第四步:执行数据库迁移   

$ bundle exec rake db:migrate

第五步:在 Version的model文件中添加如下(使之与表关联)

mount_uploader :apk, ApkUploader

 第六步:在你想添加的view中添加

        例如:

<%= form_for @user, :html => {:multipart => true} do |f| %>
  <p>
    <label>上传apk</label>
    <%= f.file_field :apk %>
    <%= f.hidden_field :apk_cache %>
  </p>
<% end %>

 (如果你想调用这个文件的url 可以使用@version.apk_url)

 

到这步,就基本的实现了上传文件功能

 

分享到:
评论

相关推荐

    Rails中上传文件保存中文文件名乱码

    总结来说,处理Rails中上传文件保存中文文件名乱码的问题,主要涉及以下几个步骤: 1. 检查并确认文件上传过程中涉及的所有编码环境(如服务器文件系统、数据库存储等)是否兼容UTF-8。 2. 使用`iconv`库或`String#...

    rails上传文件_paperclip

    Paperclip允许你验证上传文件的类型,防止恶意文件上传。 4. **存储路径自定义** 可以根据需求自定义文件在服务器上的存储路径。 5. **版本控制** Paperclip允许保留文件的历史版本,方便回滚或比较。 6. **回...

    rails_多文件上传

    3. 文件数量控制:插件可以控制上传文件的数量,限制上传文件的个数。 4. 多浏览器兼容:插件兼容多种浏览器,包括 IE6、7、Firefox 等,确保插件在不同浏览器中的正确运行。 使用说明 1. 样式设置:插件提供了...

    rails 文件上传

    1. **ActionDispatch::Http::UploadedFile**: 当用户通过表单上传文件时,Rails会将这些文件封装成`ActionDispatch::Http::UploadedFile`对象。这个对象包含了文件名、类型、大小以及临时文件路径等信息,便于开发者...

    Rails里给文件上传添加progress_bar

    在Ruby on Rails(Rails)框架中,为文件上传添加进度条功能可以显著提升用户体验,让用户在上传大文件时能够清楚地看到进度,增加交互性。本文将深入探讨如何在Rails应用中实现这一功能。 首先,我们需要理解文件...

    jquery-fileupload-rails, 用于 Rails的jQuery文件上传集成.zip

    jquery-fileupload-rails, 用于 Rails的jQuery文件上传集成 Rails 文件上传jQuery-File-Plugin 是一个文件上传插件,由的Tschan 。 jQuery文件上传功能多文件选择。drag&拖放支持。进度栏和jQuery预览图像。 支持...

    rails ajax提交文件或图片

    在Rails中,`form_for`辅助方法可以帮助我们创建一个表单,但为了支持AJAX提交,我们需要将其与`remote: true`选项一起使用: ```html , url: uploads_path, html: { multipart: true }, remote: true do |f| %&gt; ...

    升级版本后Rails的文件上传

    2. **配置存储**:无论是使用ActiveStorage还是第三方库,都需要在`config/storage.yml`文件中配置存储服务。对于本地存储,配置相对简单;而对于云存储,需要提供相应的访问密钥和凭证。 3. **模型集成**:在模型...

    使用Rails上传和转换视频

    以上就是使用Rails上传和转换视频的基本流程。在开发过程中,确保遵循最佳实践,如安全存储文件、优化性能、以及考虑跨平台兼容性。通过不断学习和实践,你可以构建出高效且功能丰富的视频处理系统。

    rails-uploader:用jQuery-File-Upload实现Rails文件上传

    安装在Gemfile中: gem 'rails-uploader'在航线上: mount Uploader :: Engine =&gt; '/uploader' 迁移ActiveRecord: $ bundle exec rails g uploader:install用法存储上传文件的架构(cancan集成): class Asset &lt...

    ruby上传文件

    1. **Ruby on Rails框架**:Ruby上传文件通常是在Ruby on Rails框架下进行的,这是一个用于快速开发Web应用的全栈框架,它遵循MVC(模型-视图-控制器)架构模式。 2. **Controller**:在Rails中,控制器负责处理...

    Ruby On Rails中文教材(PDF)

    10. **Gem包管理**:Ruby的Gem系统使得安装和管理第三方库变得简单,如Devise用于用户认证,Paperclip或Carrierwave处理文件上传,Bootstrap提供前端UI组件等。 学习Rails的过程中,实践尤为重要。通过完成实际项目...

    jack_up, 在 Rails 中,[DEPRECATED] 轻松AJAX文件上传.zip

    jack_up, 在 Rails 中,[DEPRECATED] 轻松AJAX文件上传 从October年8 月开始,已经不推荐使用 另外,对于其他的, 付费和免费的上传工具,JackUp已经被否决了。 JackUp简单AJAX文件在 Rails 中上传。安装修改你的...

    在Rails中使用SSL

    2. **启用全局SSL**:在Rails应用中全局启用SSL,可以在`config/application.rb`文件中添加以下代码: ```ruby config.force_ssl = true ``` 这会强制所有HTTP请求重定向到HTTPS,确保所有用户流量都是加密的。 ...

    Ruby-CarrierWaveRubyWeb框架更优雅的解决方案文件上传

    在Ruby on Rails中,文件上传通常是一个棘手的问题,因为它涉及到临时文件的处理、数据库记录的更新以及最终文件的存储位置。CarrierWave简化了这一过程,允许开发者通过简单的API来管理这些细节。它支持多种存储...

    ROR 文件的上传与下载

    为了正确地处理二进制文件,必须在表单中设置`enctype="multipart/form-data"`属性,这是通过在Rails的`start_form_tag`辅助方法中设置`multipart =&gt; true`选项来实现的。 ```erb ({:action=&gt;'create'}, {"name"=&gt;...

    rails 多图上传.txt

    在`views/demo.html.erb`文件中加入如下JS代码以初始化Swfupload插件。 ```javascript var swfu; window.onload = function () { var settings = { flash_url: "/assets/swfupload.swf", // SWF文件的地址 ...

Global site tag (gtag.js) - Google Analytics