Давно использую библиотеку 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 %>
Вот бы полностью рабочий вариант с Uploadify 3.1 и рельсами 3.2... Хотя бы на гитхабе... было бы здорово.
ОтветитьУдалитьну, это самый непростой кусок кода, остальное все легко загуглить
ОтветитьУдалить