`
wuhuizhong
  • 浏览: 682818 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

rails 2.0文件上传

    博客分类:
  • ROR
阅读更多

1. 表单:<% form_for([:admin, @album], :html => {:multipart => true}) do |f| %>;
文件上传控件: <%= file_field :file, :album_img%>.
曾试过将文件控件也写出与Model相关联的方式: <%= f.file_field :album_img%>, 但在修改记录时处理有些麻烦, 所以将文件上传的控件与Model属性分类开.

2. 获得文件: @file = params[:file][:album_img]
* 判断是否上传文件 if(@file=='') #感觉上应该是@file==nil

3. 获得相关信息
文件名: @filename = @file.original_filename
rails应用程序路径: "#{RAILS_ROOT}"
@directory_name = "#{RAILS_ROOT}/public/images/album/#{dir_name.downcase.gsub( /[ ]/, '_')}" #作用是拼出文件所要保存的服务器物理路径, downcase.gsub( /[ ]/, '_')是将dir_name字符串格式化, 如"Marquee Moon"经处理后为"marquee_moon".
判断文件/目录是否存在: File.exist?(@directory_name)
创建目录: Dir.mkdir(@directory_name)
写文件: File.open("#{@directory_name}/#{@filename}", "wb+") do |f|
f.write(file.read)
end

分享到:
评论

相关推荐

    simply rails

    - **常见插件推荐**:列出一些流行插件,如Paperclip(用于文件上传)、FriendlyID(用于SEO友好的URL)等。 #### 11. **调试、测试和基准测试** - **调试技巧**:提供有效的调试方法,帮助开发者快速定位问题。 ...

    Struts2.0框架技术详解

    通过在表单中设置`name`属性相同的多个文件上传控件,可以实现多个文件的上传。 **示例代码**: ```java public String execute() { List&lt;File&gt; files = getFiles("file"); List&lt;String&gt; filenames = ...

    carrierwave:用于Rails,Sinatra和其他Ruby Web框架的文件上传的更高级解决方案

    载波波这个gem提供了一种简单且极为灵活的方式来从Ruby应用程序上传文件。 它与基于Rack的Web应用程序(例如Ruby on Rails)一起很好地工作。信息RDoc文档源代码更多信息,已知限制和操作方法获得帮助如有任何疑问,...

    Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版.rar

    23.8 Rails应用的文件上传 409 23.9 布局与组件 411 23.10 再论缓存 417 23.11 新增模板系统 421 第24章 Web 2.0 423 24.1 Prototype 423 24.2 Script.aculo.us 438 24.3 RJS模板 451 24.4 结论 456 第25章 ...

    concen:Concen 是一个 Rails 引擎,用于从 Web 界面管理和监控 Rails 应用程序。 它包括内容管理系统、实时流量监控和实时性能监控。 它的构建灵活且可定制,以满足定制需求

    所有数据都存储在MongoDB数据库中,包括所有上载的文件(存储在GridFS中)。 Typekit (可选)。 Concen 使用字体。 可以从Typekit获得此字体。 安装 将以下内容添加到Rails应用程序的Gemfile中。 gem "concen",...

    capdash2-server:住房容量仪表板v2的Web后端

    容量仪表板2.0 有关背景信息和设置开发先决条件的详细指南,请参见 。 Capdash2服务器基于Ruby on Rails 5 API ...处理用户头像的文件上传 与载波配合使用的小型magick图像处理器 码文件生成器 依存关系 Po

    ocean-gh-pages.rar

    9. **Gemfile** 或 **Gemfile.lock** (如果使用Ruby on Rails) - Ruby项目的依赖管理文件。 10. **_config.yml** (如果使用Jekyll) - Jekyll是一个静态站点生成器,此文件用于配置站点设置。 这个压缩包可能是一个...

    panch0r3d_github_io-源码.rar

    9. **许可证**:项目可能包含LICENSE文件,定义了代码的使用权限和条件,如MIT、Apache 2.0、GPL等。 10. **部署**:如果项目是Web应用,可能包含部署配置文件,如Dockerfile、Heroku配置等,用于在服务器上运行...

    le_wagon-master.rar

    4. **Gemfile/Package.json**(取决于语言):Ruby on Rails项目可能会有Gemfile,Node.js项目会有Package.json,用于管理项目的依赖。 5. **app**或**src**目录:包含项目的主要源代码。 6. **db**:数据库相关的...

    JAVA上百实例源码以及开源项目源代码

    Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...

    ASP EXCEL导入SQL

    静态资源主要是指应用层中展现层中所要使用到的静态资源文件,以及由用户在业务操作中产生的文件等,如图片、上传的文件等;  而动态数据是指用户在使用平台的过程中所产生的业务数据,在实现业务中,这部分数据大...

    wilspi.github.io:源代码

    7. **许可证信息**:项目中的`LICENSE`文件会指定源代码的许可协议,如MIT、Apache 2.0或GPL等,定义了他人可以如何使用和分发代码。 8. **其他配置文件**:可能包含`README.md`,用于介绍项目、`package.json`...

    mizorechan.github.io:Mizore.TK的源代码和托管-html website source code

    7. **.gitignore**:列出应忽略不上传到Git仓库的文件和目录的列表。 8. **Gemfile**或**package.json**:如果是使用Ruby on Rails或Node.js等框架,这些文件会记录项目依赖的库和版本信息。 通过分析和研究这个...

    java开源包1

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    java开源包11

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    java开源包2

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    java开源包3

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    java开源包6

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    java开源包5

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    java开源包10

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

Global site tag (gtag.js) - Google Analytics