アップロードボタンをクリックしたときに ランタイム Silverlightが与えられると、何も起こりません
html5とフラッシュで正常に動作します。IEがpluploadflashでバグを抱えているため(コンテナが設定されていないため、IEがおかしくなりました)、現在徹底的にテストしています。バグがないことを確認するために、Silverlightをランタイムのみとしてテストしようとしましたが、残念ながらこのサイレントエラーが発生しました。ITは、FF、MacのChrome、WindowsのIE9のいずれでも機能しません。
私はBackboneとcoffeescriptを使用しています(Rails 3アプリ)これは、内でpluploadを構築する方法です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です(hamlを愛していないことを許してください)
<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