我正在尝试编写一个使用 Vimeo API 上传视频的 WordPress 插件。我正在尝试为上传提供一个进度条,让用户可以看到它正在工作。为了生成状态栏,我正在使用 jQuery.Form 插件并访问 uploadProgress 回调,但我无法触发回调。我正在使用 Chrome 19,因此浏览器应该可以使用上传和文件 API。
我一直在复制 jQuery.Form 演示中的代码,该演示适用于他们的页面,但对我的页面没有影响。- http://jquery.malsup.com/form/progress.html
屏幕左下方的小 Chrom 通知显示上传百分比,因此我确信文件正在发送。
想法?
<form method="POST" action="<?php echo $endpoint; ?>" id="vimeo_upload_form" enctype="multipart/form-data">
<p>
<label>Upload video to Vimeo</label>
<input type="hidden" name="ticket_id" value="<?php echo $token; ?>" id="ticket_id"/>
<input type="hidden" name="chunk_id" value="0" id="chunk_id"/>
<input type="file" name="file_data" id="file_data"/>
</p>
<p>
<input type="submit" name="" value="upload">
</p>
</form>
jQuery(document).ready(function($) {
status_msg = $("#status_msg")
console.log(status_msg)
percent = $("#percentage")
bar = $("#bar")
$('#vimeo_upload_form').ajaxForm({
beforeSend: function() {
status_msg.empty();
var percentVal = '0%';
bar.width(percentVal)
percent.html(percentVal);
},
uploadProgress: function(event, position, total, percentComplete) {
var percentVal = percentComplete + '%';
bar.width(percentVal)
percent.html(percentVal);
},
complete: function(xhr) {
status_msg.html(xhr.responseText);
}
});
});