2011-12-28 87 views
1

我已經設置了回形針和uploadify的應用程序。回形針工作正常。但是對於多文件上傳,uploadify不起作用,即它不會改變<input type="file",而且當在文件選擇表單中時,它不允許選擇多個文件。Rails 3.1 paperclip uploadify問題

我按照給定-以下步驟

  1. 下載uploadify和下資產提取/即資產/ uploadify
    一個。 uploadify.swfcancel.png資產/圖片
    b。 jquery.uploadify.v2.1.4.js,,和swfobject.js

    資產/ Javascript角
    ℃。 uploadify.css分成assets/stylesheets
    d。創建了middleware目錄。

  2. 加入以下腳本上傳

    $(document).ready(function() { 
        <% key = Rails.application.config.session_options[:key] %> 
        var uploadify_script_data = {}; 
        var csrf_param = $('meta[name=csrf-param]').attr('content'); 
        var csrf_token = $('meta[name=csrf-token]').attr('content'); 
        uploadify_script_data[csrf_param] = encodeURI(encodeURIComponent(csrf_token)); 
        uploadify_script_data['<%= key %>'] = '<%= cookies[key] %>'; 
    
        $('.uploadify').uploadify({ 
        uploader  : '/assets/uploadify.swf', 
        script   : '/assets/uploadify', 
        cancelImg  : '/images/cancel.png', 
        auto   : true, 
        multi   : true, 
        removeCompleted : true, 
        scriptData  : uploadify_script_data, 
        onComplete  : function(event, ID, fileObj, doc, data) { 
        } 
        }); 
    }); 
    </script> 
    
  3. 列表項

  4. 也,改性session_store.rb, application.js

  5. 最後,加入類輸入type=file ",類= 'uploadify'"

請指出我哪裏出錯了。

感謝 約翰

回答

0

這爲我工作

$(document).ready(function() { 
    <% key = Rails.application.config.session_options[:key] %> 
    var uploadify_script_data = {}; 

    // Fetch the CSRF meta tag data 
    var csrf_param = $('meta[name=csrf-param]').attr('content'); 
    var csrf_token = $('meta[name=csrf-token]').attr('content'); 
    var session_param = '#{key}' 
    var session_key = '#{cookies[key]}' 

    // Now associate the data in the config, encoding the data safely 
    uploadify_script_data[csrf_param] = encodeURI(encodeURIComponent(csrf_token)); 
    uploadify_script_data[session_param] = encodeURI(encodeURIComponent(session_key)); 

    $('.uploadify').uploadify({ 
     uploader  : '/assets/uploadify.swf', 
     script   : '/assets/uploadify', 
     cancelImg  : '/images/cancel.png', 
     auto   : true, 
     multi   : true, 
     removeCompleted : true, 
     scriptData  : uploadify_script_data, 
     onComplete  : function(event, ID, fileObj, doc, data) { 
     } 
    }); 
    }); 
</script> 

我相信這是與是encodeURI問題,加上在CSRF令牌的跡象。我讀了這個地方,但不知道現在在哪裏....值得一試雖然