- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在为 Wordpress 开发一个图库插件,我正在尝试为 Plupload 启用拖放功能。 .
我不确定出了什么问题,但是只有当我将第二个文件放入放置区域然后放入 upload.php
时,我的 upload.php
文件才会被调用被调用了两次。
有没有人遇到过这种情况?非常感谢任何帮助。
更新
我发现了为什么 upload.php
在添加第二个文件之前不会被触发。
如果我删除 uploader.bind('FilesAdded'...
中的 up.start();
并将其放入 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>
最佳答案
我试过你的 HTML,但我一直收到错误 Uncaught TypeError: Cannot read property 'currentStyle' of null
我在这里使用 HTML/JS,上传后它会显示图像。我重命名了一些 div 以确保带连字符的名称不会导致问题。
JS:
<script type="text/javascript">
$(function() {
var sim_gal_data = JSON.parse(JSON.stringify(sim_gal_data_arr));
// this will be used for displaying uploaded images
var public_url = 'http://www.path.to/your/upload/url/';
var uploader = new plupload.Uploader({
runtimes : 'html5,silverlight,flash,browserplus,gears,html4',
drop_element : 'dropbox',
browse_button : 'pickfiles',
container : '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) {
$.each(files, function(i, file) {
$('#debug').prepend('Uploading ' + file.name + ' (' + file.size + ' bytes)');
});
up.refresh();
up.start();
});
uploader.bind('FileUploaded', function(up, file, info) {
$('#uploaded').prepend('<p><a href="' + public_url + file.name + '" target="_blank"><img src="' + public_url + file.name + '" width="100"/></a></p>');
});
uploader.init();
});
</script>
HTML:
<div id="dropbox">
<div id="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="pickfiles" /></p>
</div>
</div>
<p><label>Debug data:</label><div id="debug"></div></p>
<div id="uploaded"></div>
拖放一个文件,然后等待您希望它上传的时间。不要丢弃另一个认为它不起作用的文件,所有丢弃的文件都会出现在上传列表中。
关于php - Plupload 每隔一个文件上传一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15039843/
如何为 plupload ( http://www.plupload.com/ ) 设置通用/全局设置,以后创建的所有实例都应该使用它? 我试图访问“plupload.settings”,但它不存在。
既然我之前的问题没有得到解答,那我换个说法吧。 我希望有人提供一个功能示例,说明如何以编程方式将文件添加到 plupload 队列,准备上传。 也许是这样的: $('#uploader').on("r
我正在开发一个可以上传文件的应用程序。我想创建一个可重用的文件上传组件,它可以包含在任何需要文件上传功能的页面上。我原本以为我可以只使用 JSP 标记。然而,我们最近发现了 AngularJS,现在想
我有一个 plupload 调用: $("#cni, #kbis, #rcpro").pluploadQueue({ runtimes: "html5, flash", url: "ajax.php?
当 Plupload 中出现错误时,我有一个事件处理程序: Error: function(up, args) { // do something } 如何在代码的其他地方引发错误?我想说 up.
我正在尝试在页面上设置未知数量的 plupload 实例。我需要动态添加更多实例并删除和重置其中一些。我有一般的想法,但没有任何效果。 我的尝试之一是 jsfiddle . 谢谢大家的帮助。 代码:
我正在使用plupload。 传输队列完成后,如何重置上传者,以便用户可以根据需要上传更多文件? 最佳答案 uploader.splice();将从队列中删除所有文件,并使上载程序对象重新开始。 关于
我在我的网站上成功集成了 plupload。我可以毫无问题地上传文件,但我无法多次上传同一个文件。 PS:该问题仅出现在 Internet Explorer 中。我对谷歌浏览器没有任何问题。 例如:
我有一个页面可以在网站上上传一些文件。在此页面中是 plupload 的一个实例。 我的愿望是,当 plupload 被实例化时,文件浏览器对话框会自动打开,就像单击“添加文件”但不执行此单击一样。
我正在使用 plupload。我找不到一种方法来编辑上传脚本为我正在上传的文件设置的名称。 有没有办法更改文件名? 最佳答案 您可以使用file_data_name 选项设置上传字段的名称。默认设置为
在 plupload div 之后,我有一个带有 plupload 的上传表单和一个带有 bool 值的复选框。 如果选中该复选框,我想更改 plupload 中 url 的值。 这是我的代码
我已经研究这段代码一段时间了,试图让它正常工作。我想限制上传的图片总数超过 2 张。 行 var upa = $('.uploader').plupload('getUploader'); 给出了 U
我正在尝试删除 FilesAdded 事件中不允许扩展名的文件。 (我不能使用过滤器参数,因为我需要一个独占列表)。 我有一些代码有点像这样: uploader.bind('FilesAdded',
我正在使用 Plupload 将 .csv 文件上传到我的网站。它工作正常,除了它没有在文件选择模型中正确过滤 .csv 文件的问题。 这是我用来过滤 .csv 文件的代码: filters : [
添加文件后,我想自动开始上传过程。我在 FilesAdded 的末尾调用了 start 函数,但它没有开始上传。 uploader.bind('FilesAdded', function(up, fi
我想颠倒plupload中上传文件的顺序。 尝试过: FilesAdded: function(up, files) { files = files.reverse(); pluplo
我在 plupload API 文档中没有看到有关将上传文件数量限制为任意数量(甚至是 1)的选项。 文档失败?或功能失败?如果它不存在,如果有人需要它,我将努力实现这一点.. 最佳答案 这是一个功能
我刚刚将最新版本的 plupload 安装到我的本地测试 PHP 服务器,运行 HTML5 uploader 。一切似乎都正常,但我无法确定文件上传到哪里(以及如何将其更改为我想要设置的目录)。 这是
所以我使用 PLUpload 来上传文件。但是,我遇到了问题。我试图在队列完成时触发一个事件。我已经很接近了,但还没有完全实现。请参阅此处: $(function() { var files_
我刚刚将最新版本的 plupload 安装到我的本地测试 PHP 服务器,运行 HTML5 uploader 。一切似乎都正常,但我无法确定文件上传到哪里(以及如何将其更改为我想要设置的目录)。 这是
我是一名优秀的程序员,十分优秀!