rails 不刷新上传文件jquery-fileupload-rails包的简易使用

Gemfile文件:
gem 'jquery-fileupload-rails'
spplication.js:
//= require jquery-fileupload/basic
其实//= require jquery-fileupload/basic引入的有
<script src="js/vendor/jquery.ui.widget.js"></script>  
<script src="js/jquery.iframe-transport.js"></script>  
<script src="js/jquery.fileupload.js"></script> 
最小级别的使用,可以单独下载这几个文件使用。

photo.html.erb:
<input type="file" name="photo" id="fileupload" /> 
 <!--使用form表单上传-->
        <%#= form_for @photo,:url => { :action => "create", :controller=>"photos"},:method => :post, :html => {:multipart => true, :id => "fileup_load" } do |f| %>
            <%#= f.hidden_field :user_id %>
            <%#= f.file_field :photo%>
        <%# end %>
<script>
     $("#fileupload").fileupload({
         method:'post',
         url:"photos/upload",//文件上传地址,当然也可以直接写在input的data-url属性内
         formData:{param1:"p1",param2:"p2"},//如果需要额外添加参数可以在这里添加
         done:function(e,result){
             console.log(JSON.stringify(result.result));
         }
     })


 </script>

因为项目没有数据库,所以就不能使用以前调用carriwave插件来实现上传功能

现简单文件上传到服务器(不用Gem或Plugin)

 photos_controller.erb:
def create
    require 'fileutils'
    tmp=params[:photo]
    file=File.join('public',current_user['id'].to_s+'.jpg')
    FileUtils.cp tmp.path,file
    render json: {data:'dfdf'}
  end

然后对上传的图片进行裁剪,调用远程接口上传到服务器,保存。
FileUtils使用:
http://www.ruby-doc.org/stdlib-1.9.3/libdoc/fileutils/rdoc/FileUtils.html
http://www.kuqin.com/rubycndocument/man/addlib/fileutils.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值