0

В моем приложении Rails (3.2.12) Я использую жемчужину jquery-fileupload-rails, чтобы пользователи могли загружать фотографии профиля. Все работает отлично в Chrome и Safari, но в Internet Explorer (я тестировал его с версией 10) я даже не могу выбрать файлы для загрузки. Когда я нажимаю кнопку «Добавить файлы», вместо того, чтобы показывать диалог для выбора файлов, он мгновенно запускает пустой запрос к действию загрузки, в результате чего ответ json показывает пустой объект фотографии. Это мои текущие JS для инициализации FileUpload (я уже добавил код от проблем с IE и CSRF-токены):Rails blueimp fileupload - не удается выбрать файлы в Internet Explorer

// Initialize the jQuery File Upload widget: 
    $('#fileupload').fileupload({ 
    dataType: 'json', 
    acceptFileTypes: /(\.|\/)(gif|jpe?g|png|tiff)$/i 
    }); 

    // Enable iframe cross-domain access via redirect option: 
    $('#fileupload').fileupload(
     'option', 
     'redirect', 
     window.location.href.replace(/\/[^\/]*$/, '/photos?%s') 
); 

    //add csrf token manually for ie iframe transport 
    $('#fileupload').bind('fileuploadsend', function(event, data) { 
    auth_token = $('meta[name="csrf-token"]').attr('content'); 
    data.url = data.url + '?authenticity_token=' + encodeURIComponent(auth_token); 
    $.blueimp.fileupload.prototype.options.send.call(this, event, data); 
    }); 

и мой код контроллера для ответа, в котором я уже (надеюсь правильно) набор тип контента для «текст/простой»:

format.html { 
    render json: [@photo.to_jq_upload].to_json, 
    content_type: 'text/plain', #content_type: 'text/html', 
    layout: false 
} 
format.json { 
    render json: {files: [@photo.to_jq_upload]}, 
    content_type: 'text/plain', 
    status: :created, 
    location: @photo 
} 

кто-нибудь знает, как получить эту работу в IE и может помочь мне, пожалуйста? Спасибо :)

+0

Почему вы не используете драгоценный камень Paperclip, поскольку он широко используется для загрузки файлов. В этом нет проблем с перекрестным браузером. –

+0

Очевидно, проблема также возникает в Firefox, и главная проблема заключается в том, что вместо открытия диалога выбора файла он отправляет пустую форму при нажатии кнопки добавления файлов ... – irruputuncu

+0

Спасибо, за подсказку! Я на самом деле уже использую самописцы paperclip, но только для обработки файлов сервера и обработки изображений. Есть ли какая-то магия на стороне клиента, о которой я еще не слышал? – irruputuncu

ответ

1

Мне понадобилось некоторое время, чтобы разобраться в этом, но в конце концов это было довольно просто: при применении моих собственных стилей я заменил тег span на Add-Files-Button тегом кнопки , Это не имело никакого эффекта в браузерах webkit, однако привело к немедленной отправке формы в Firefox и Internet Explorer. Изменение его назад, наконец, решило проблему :)

Смежные вопросы