plupload с silverlight не работает - хорошо с html5 и вспышкой - PullRequest
0 голосов
/ 07 января 2012

Учитывая время выполнения silverlight , когда Я нажимаю кнопку загрузки , затем ничего не происходит

Работает нормально с html5 и flash.Сейчас я провожу тщательное тестирование, так как IE глючит с помощью plupload flash (контейнер не был установлен, что выводило IE из строя.) Чтобы убедиться, что ошибок больше нет, я пробовал тестировать silverlight как только время выполнения, к сожалению, приводя к этой тихой ошибке.Это не работает ни в FF, ни в Chrome для Mac, ни в IE9 в Windows.

Я использую Backbone и coffeescript (приложение Rails 3). Так я создаю плаг-нагрузку в class window.Uploader extends Backbone.View.Помните, что он работает с flash и html5 в качестве среды выполнения:

initialize: (options) -> 
  @uploader = new plupload.Uploader({
    runtimes : 'silverlight,flash',  #'gears,html5,flash,silverlight,browserplus',
    browse_button : 'pickfiles',
    container: 'upload_container'
    max_file_size : '5mb',
    url : "/admin/upload",
    flash_swf_url : '/publiclib/plupload.flash.swf',
    silverlight_xap_url : '/publiclib/plupload.silverlight.xap',
    filters : [ {title: "#{filter_title} ", extensions : "#{filter_extentions}"}]
    multi_selection: that.multiple,
    multipart: true,
    multipart_params: {
      "authenticity_token" : FORM_AUTH_TOKEN
    },
    file_data_name: 'photo'
  })

  ###### THIS PRINTS SILVERLIGHT as runtime, in all browser I've tested for this Q
  ###### So it is used/detected, but not working
  @uploader.bind 'Init', (up, params) ->
    $('#filelist').html("<div>Current runtime: #{params.runtime} </div>")

  @uploader.init()
  @setupBindings()

setupBindings: ->
  #instantiates the uploader
  that = @

  # shows the progress bar and kicks off uploading
  @uploader.bind 'FilesAdded', (up, files) ->
    _.each files, (file) ->

      $('#filelist').append('<div id="' + file.id + '"><small>' + file.name + ' (' + plupload.formatSize(file.size) + ') </small><b></b>' + '<div class=" percent label notice" style="width:10%;"><span>Laster opp</span></div></div>')

    that.uploader.start()

  #binds progress to progress bar
  @uploader.bind 'UploadProgress', (uploader, file) ->
    # .. some upload code, not relevant to Q

это мой _form.html.erb (простите, что я не люблю хамл)

<div id="upload_container" class="clearfix">
  <div class='input'>
    <div class='clearfix'>
      <%=activity_image @activity%>
    </div>
    <%=link_to "Choose Picture", '#', :id => "pickfiles", :class => "btn small"%>
    <div class='clearfix' id='filelist'>
    </div>
  </div>
</div>

сгенерированный html по запросукомментарий ...:

<fieldset>
  <input id="activity_photo_id" name="activity[photo_id]" size="30" style="display:none;" type="text" />

 <legend>choose picture for upload</legend>
 <div id="upload_container" class="clearfix">

   <div class='input'>
     <div class='clearfix'>
       <img src='/assets/default_photo.png' id='image_preview'>
     </div>
     <a href="#" class="btn small" id="pickfiles">Choose Picture</a> 
     <div class='clearfix' id='filelist'></div>
   </div>
 </div>
</fieldset>

Когда я нажимаю "Выбрать изображение", ничего не происходит.

plupload 1.5.1.1

1 Ответ

0 голосов
/ 09 января 2012

В зависимости от вашего стиля структура Plupload может потеряться в вашем контейнере (#upload_container). Попробуйте обернуть элемент browse_button в его собственный контейнер, имеющий строгую позицию на экране.

Возможно, существует какой-то конфликт между Plupload и Backbone / CoffeeScript, потому что он работает автономно, протестировано только сейчас. Можете ли вы показать свой пример использования где-нибудь в Интернете?

...