воскресенье, 11 декабря 2011 г.

uploadify jquery rails3

Давно использую библиотеку JQuery.uploadify http://www.uploadify.com/ для загрузки больших файлов с отображением progress bar.

Довольно непросто заставить работать компоненту из-за protect_from_forgery, поэтому публикую часть кода, возможно кому-то будет полезно.

<%- session_key_name = Rails.application.config.session_options[:key] -%>


<% content_for :jquery do %>

$('#photo_photo_file').uploadify({
'uploader'  : '/uploadify.swf',
'script'    : '<%= admin_album_path(@album)%>/photos',
'cancelImg' : '/assets/cancel.png',
'buttonText': 'Upload new photos',
'buttonImg' : '/assets/upload.gif',
'width' : '125',
'height' : '35',
'auto'      : true,
'multi' : true,
 onComplete: function(event, queueID, fileObj, response, data){
var data = eval('(' + response + ')');$.getScript(data.photo);
},
'scriptData': {
 '<%= session_key_name %>' : '<%= u cookies[session_key_name] %>',
 '_http_accept': 'application/javascript',
      'authenticity_token' : encodeURIComponent('<%= u form_authenticity_token if protect_against_forgery? %>')
    }
});
<% end %>

2 комментария:

  1. Вот бы полностью рабочий вариант с Uploadify 3.1 и рельсами 3.2... Хотя бы на гитхабе... было бы здорово.

    ОтветитьУдалить
  2. ну, это самый непростой кусок кода, остальное все легко загуглить

    ОтветитьУдалить