`
klesh
  • 浏览: 983 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

rails 的 swfupload 插件

阅读更多
swfupload 利用 flash 作 ajax 式后台文件上传, 提供强大事件订阅机制。不幸的是 flash 的上传文件时不支持 cookie 发送,因此在有验证需要的场景会发生 session 丢失,而通常文件上传这块是需要权限校验的。
插件干的事比较简单,主要对 rails 的 cookiestore 进行 hacking, 使其可以接受由 querystring 传过来的 session_id。有需要的朋友可以通过 github 安装

安装了git:

ruby script/plugin install git://github.com/klesh/klesh_swfupload.git


没有 git 则直接点 download ,下载后解压到 vendor/plugins

完成后把 vendor/plugins/klesh_swfupload javascripts 和 swfs 文件 copy 到 public 目录

在 controller 中把接收文件的 action 设置 cookie_only 为 false
  session :cookie_only => false, :only => :ACTION_FOR_RECEIVING_FILES
  
  def ACTION_FOR_RECEIVING_FILES
    uploaded_file_name = params[:Filename]
    uploaded_file = params[:Filedata]
  end


view 里面:

  <%= javascript_include_tag 'swfupload' %>
  ...
  ...
  <%= swfupload 'swfuploader', {:action => :ACTION_FOR_RECEIVING_FILES}, {:button_text => 'Upload', :button_width => 60, 
  :button_height => 20, :upload_success_handler => "function(file, response){alert(response);}"} %>


swfupload 第一个参数指定客户端 javascript 实例名,第二个指定接收文件 action 的 url, 第三个则是 swfupload 客户端的参数,具体参数设置可参考 swfupload.org 或 vendor/plugins/klesh_swfuplpad/docs/swfupload.html
分享到:
评论

相关推荐

    [Rails 常用插件简介]CRUD Generator 2

    **Rails 常用插件简介 - CRUD Generator 2** 在Ruby on Rails框架中,开发过程中经常需要创建、读取、更新和删除(CRUD)数据。为了提高开发效率,开发者通常会使用各种插件来自动化这个过程。CRUD Generator 2就是...

    VIM的Rails编辑插件rails.vim.zip

    rails.vim提供了常用的一些命令,可以帮助开发,例如:Rgenerate, Rake, Rfind,RTview等,很方便,也很实用。 安装方法: 拷贝 autoload/rails.vim, plugin/rails.vim, 和 doc/rails.txt 到 ~/.vim 目录. ...

    Ruby on Rails插件

    Ruby on Rails插件是Rails框架的核心扩展机制,用于弥补Rails本身功能的不足,提供开发者所需的额外特性或功能。Rails插件允许开发人员自定义和增强Rails的任何部分,并且能够以封装和重用的方式与其他开发者共享。...

    eclipse的ruby on rails开发插件RadRails

    **Ruby on Rails 开发环境构建:Eclipse与RadRails 插件详解** 在现代软件开发领域,Ruby on Rails(简称Rails)作为一个强大的Web应用程序框架,因其简洁、高效的特性深受开发者喜爱。而Eclipse,作为一款功能强大...

    ruby on rails 常用插件下载

    在这个“ruby on rails 常用插件下载”中,提到的是一个与多线程相关的插件,可能用于提高应用程序的性能和并发处理能力。 在 Ruby on Rails 中,多线程是一种处理并发请求的方式,尤其在现代硬件支持多核处理器的...

    rails 2.0.2 分页 需另外下载插件

    这个插件允许你在Rails应用中轻松地对数据进行分页显示,提高用户体验并减轻服务器压力。 **1. will_paginate插件介绍** `will_paginate`是Rails社区中非常流行的一个分页解决方案,它提供了简洁的API和强大的功能...

    关于Rails登录和验证插件http_authentication restful-authentication

    6. **Rakefile和init.rb**: Rakefile用于定义任务,如安装或更新插件,而init.rb是Rails初始化脚本,负责加载插件。 7. **版本控制(.svn)**: 这个文件可能表示插件曾使用Subversion作为版本控制系统。现代项目更...

    Rails插件收集

    标题“Rails插件收集”指的是关于Ruby on Rails框架的扩展插件资源的汇集。Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用的开发...

    ruby on rails for eclipse开发插件

    ruby on rails for eclipse开发插件

    Ruby-智付通金流的Rails插件

    Ruby-智付通金流的Rails插件是一个专门为Ruby on Rails框架设计的工具,它使得开发者能够轻松地将Spgateway这个台湾知名的在线支付服务集成到自己的应用中。这个插件简化了处理支付流程的复杂性,使得在Rails应用中...

    oauth-plugin, 用于OAuth的Rails 插件.zip

    oauth-plugin, 用于OAuth的Rails 插件 OAuth插件这是在 Rails 应用程序中实现OAuth提供者和消费者的插件。我们支持修改后的OAuth 1.0规格:tools.ietf. org/html/rfc5849以及对 OAuth 2.0的支持:tools.iet

    Rails的自动完成分页插件

    在这个场景中,我们关注的是Rails的自动完成、文件上传、分页以及上传进度管理相关的插件。让我们详细了解一下这些关键知识点: 1. **Rails 自动完成**: 自动完成是一种功能,允许用户在输入框中键入时提供预填...

    userstamp, 这个 Rails 插件扩展ActiveRecord.zip

    userstamp, 这个 Rails 插件扩展ActiveRecord Userstamp插件( v-2.0 )概述Userstamp插件扩展了 ActiveRecord::Base,以添加对'创建者','更新程序'和'deleter'属性的自动更新。 它是基于 ActiveRecord::Timesta

Global site tag (gtag.js) - Google Analytics