Я работаю над плагином галереи изображений для Wordpress, и я пытаюсь включить перетаскивание & Снимите для Plupload.Plupload загружает только каждый второй файл
Я не уверен, что не так, но мой файл upload.php
вызывается только тогда, когда я бросаю второй файл, вводя область удаления, а затем upload.php
вызывается дважды.
У кого-нибудь еще испытал это? Любая помощь приветствуется.
Update
Я понял, почему upload.php
не стрелял, пока второй файл не добавляется.
Если удалить up.start();
в uploader.bind('FilesAdded'...
и положить его в инициировании Plupload:
var uploader = new plupload.Uploader({
(...)
init : {
FilesAdded: function(up, files) {
up.start();
}
}
(...)
});
Это, однако, позволяет мне выполнять drop_area_visual_feedback(up)
функцию перед добавлением файла. Даже если я положил эту функцию в uploader.bind('Init'...
, срабатывает up.start()
и, таким образом, срабатывает upload.php
.
Любые предложения, как я могу это решить?
Вот мой тестовый код:
// JS Code
var sim_gal_data = JSON.parse(JSON.stringify(sim_gal_data_arr));
var uploader = new plupload.Uploader({
runtimes : 'html5,silverlight,flash,browserplus,gears,html4',
drop_element : 'drag-drop-container',
browse_button : 'plupload-file-browser-button',
container : 'media-container',
max_file_size : sim_gal_data['max_file_size'],
url : sim_gal_data['upload_url'],
flash_swf_url : sim_gal_data['plupload_url']+'plupload.flash.swf',
silverlight_xap_url : sim_gal_data['plupload_url']+'plupload.silverlight.xap',
multi_selection : true
});
uploader.bind('FilesAdded', function(up, files) {
var debug = jQuery('#debug').html();
debug += up.files.length + ', ';
jQuery('#debug').html(debug);
up.refresh();
up.start();
});
uploader.init();
// PHP Code
$sim_gal_data_arr = Array(
'upload_url' => SIMPLE_GALLERY_PLUGIN_URL.'upload.php',
'plupload_url' => includes_url('js/plupload/'),
'max_file_size' => wp_max_upload_size() . 'b'
);
?>
<script type="text/javascript">
var sim_gal_data_arr = <?php echo json_encode($sim_gal_data_arr); ?>;
</script>
<?php
<div id="drag-drop-container">
<div class="inside-container">
<p class="drag-drop-info">Drop files here</p> <p>or</p>
<p><input type="button" disabled="disabled" class="button" value="Select Files" id="plupload-file-browser-button" /></p>
</div>
</div>
<p><label>Debug data:</label><div id="debug"></div></p>
<div id="media-container" class=""></div>
Спасибо. Даже с вашим кодом мой 'upload.php' не запускается до тех пор, пока второй файл не будет сброшен, а затем' upload.php' будет запущен дважды, таким образом сохраняя тот же файл дважды. – Steven
Тогда должно быть что-то еще, вызывающее вашу проблему. Это срабатывает для меня в Chrome и Firefox на Mac при каждом удалении файла. – sjdaws
Я нашел проблему (см. Обновленный вопрос). Любые предложения, как я могу это решить? – Steven