`
PBFox
  • 浏览: 67983 次
  • 性别: Icon_minigender_1
  • 来自: China
文章分类
社区版块
存档分类
最新评论

ruby on rails 实现文件的上传

阅读更多
把这段代码放入 Controller 里的 Application.rb

class ApplicationController < ActionController::Base
# Pick a unique cookie name to distinguish our session data from others'
session :session_key => '_upload_session_id'

def uploadFile(file)
if !file.original_filename.empty?
@filename=getFileName(file.original_filename)
File.open("#{RAILS_ROOT}/public/files/#{@filename}", "wb") do |f|
f.write(file.read)
end
return @filename
end
end

def getFileName(filename)
if !filename.nil?
return filename
end
end
end


Controller:
把这段代码放入 upload_controller中
class UploadController < ApplicationController
def upload
unless request.get?
if filename=uploadFile(params[:file]['file'])
end
end
end
end

View:
把这段代码放入 upload.rhtml 中
<%=start_form_tag ({:action=>"upload"},:multipart=>true )%>
<%= file_field("file", "file")%>
<input type="submit" />
<%=end_form_tag%>

这样就可以实现把文件上传到public/files目录中了
分享到:
评论

相关推荐

    ruby on rails最新版

    例如,Devise用于用户认证,CanCanCan用于授权管理,Paperclip或Carrierwave处理文件上传,Stripe或PayPal集成支付功能,以及各种数据分析和报表生成库等。 总的来说,这个压缩包对于Ruby on Rails的初学者或希望...

    ruby on rails 3 tutorial.pdf

    例如,Devise用于用户认证,CanCanCan用于授权管理,Paperclip或Carrierwave处理文件上传等。 此外,本书还会介绍Rails的安全实践,包括防止SQL注入、XSS攻击等常见Web安全问题。你将学习如何使用strong parameters...

    Ruby On Rails中文教材(PDF)

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

    ruby on rails在线考试系统

    例如,Devise用于用户认证,Cancancan进行权限控制,Paperclip或Carrierwave处理文件上传等。 8. 安全性:Rails内置了一些安全特性,如CSRF(跨站请求伪造)防护、XSS(跨站脚本攻击)防护以及参数过滤等。在考试...

    ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)

    在Rails 2.2.3时代,社区已经发展出很多插件和 gems(Ruby的扩展库),如Devise用于身份验证,CanCanCan进行授权管理,Paperclip或Carrierwave处理文件上传等。虽然这些可能需要适配老版本,但它们能极大地增强你的...

    ruby on rails社区网站开发源码

    13. **社区插件(Gems)**:Rails的生态系统中有大量高质量的第三方Gem,如Devise(用户认证)、Pundit(授权管理)、Paperclip或Carrierwave(文件上传)等,它们可以极大地扩展Rails的功能。 通过研究这个源码,...

    Ruby on Rails 指南 v5.0.1 中文版

    ### Ruby on Rails 指南 v5.0.1 中文版 #### Rails入门 - **前提条件**:为了能够顺利地开始Rails的学习之旅,读者需要具备一定的Ruby语言基础,并且对Web开发有一定的了解。 - **Rails是什么?**:Rails是一种...

    Ruby on Rails 学习案例

    10. **Gem包管理**:Ruby的Gem是类似Python的pip或Node.js的npm的包管理工具,Rails应用广泛依赖于Gems,如Devise用于身份验证,Pundit或CanCanCan用于权限管理,Carrierwave或Paperclip处理文件上传等。 11. **...

    ruby on rails合集

    Ruby on Rails的社区非常活跃,拥有丰富的插件和gem(Ruby的库包),如Devise用于身份验证,CanCanCan进行权限管理,Carrierwave或Paperclip处理文件上传等。这些gem极大地扩展了RoR的功能,使得开发者可以快速搭建...

    征服-Ruby On Rails.rar

    这些gem扩展了Rails的功能,例如Devise用于身份验证,CanCanCan用于授权管理,Pundit用于细粒度的权限控制,Paperclip或Carrierwave处理文件上传,Ransack提供高级搜索功能,以及Sidekiq或Resque实现后台任务处理。...

    Agile Web Development With Ruby On Rails EN第一版

    另外,书中可能还会讲解Rails的插件和gem的使用,如Devise用于用户认证,CanCanCan进行权限控制,或者Paperclip或Carrierwave处理文件上传等。这些gem是Rails生态系统的重要组成部分,让开发者能够快速集成常用功能...

    Ruby on Rails轻松使用

    10. **Gem包管理**:Ruby的Gem生态系统丰富,Rails项目通常依赖于大量第三方Gem,如Devise(身份验证)、CanCanCan(授权)、Carrierwave(文件上传)等,通过Gemfile管理这些依赖。 11. **Asset Pipeline**:Rails...

    Ruby on rails blog (博客程序)

    Ruby on Rails 是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,使得开发者可以高效地构建功能丰富的Web应用程序。在这个“Ruby on Rails博客程序”中,我们将深入探讨如何在...

    Wrox - Professional Ruby on Rails (Feb 2008)

    书中可能介绍了如何使用和开发Gem,以及常见的Rails插件如Devise(身份验证)、CanCanCan(授权)和Paperclip(文件上传)等。 9. **部署与性能优化**:书中可能会讲解如何将Rails应用部署到服务器,如使用...

    Ruby on Rails敏捷开发最佳实践源代码

    6. **Gem生态系统**:Ruby on Rails依赖于Gem包管理系统,提供了丰富的第三方库和工具,如Devise用于身份验证,Pundit或CanCanCan处理授权,Carrierwave或Paperclip处理文件上传,以及ActiveAdmin或RailsAdmin这样的...

    Ruby on Rails入门例子

    Rails社区活跃,拥有丰富的插件和gem(Ruby的包管理器),如Devise用于身份验证,CanCanCan进行权限控制,Paperclip或Carrierwave用于文件上传等。这些gem极大扩展了Rails的功能,加速了开发进程。 在本教程中,你...

    Youtube等视频共享应用程序,采用Ruby on Rails、Hotwire、Tailwind CSS构建.zip

    通过深入研究和理解这些文件,你可以学习如何将Ruby on Rails、Hotwire和Tailwind CSS结合起来,构建出一个功能丰富的视频共享应用。 总的来说,这个项目提供了从后端数据处理到前端交互体验的完整实现,对于想要...

    ruby on rails 安装手记

    最后,Rails社区非常活跃,有许多优秀的第三方gem库可以扩展Rails的功能,例如Devise用于用户认证,CanCanCan处理授权,Paperclip或Carrierwave处理文件上传等。通过`gem 'gem_name'`在`Gemfile`中添加gem,然后运行...

Global site tag (gtag.js) - Google Analytics