gpt4 book ai didi

javascript - jQuery.form uploadProgress 从未调用过

转载 作者:行者123 更新时间:2023-11-29 17:23:15 25 4
gpt4 key购买 nike

我正在尝试编写一个使用 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);
}
});
});

最佳答案

我在某处找到了它,它在我的网站上有效。我能够上传视频,并且在上传完成百分比时显示进度条。

您只需要 php 文件即可将视频从临时位置移动到目标位置。

希望它对你有用 :)

<html> 
<head>
<style type="text/css"?
#progressbox {
border: 1px solid #ccc;
padding: 1px;
position:relative;
width:400px;
border-radius: 3px;
margin: 10px;
display:none;
text-align:left;
}
#progressbar {
height:40px;
border-radius: 3px;
background-color: #20bbfb;
width:1%;
}
#statustxt {
top:3px;
left:50%;
position:absolute;
display:inline-block;
color: #000000;
}
</style>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>

<script type="text/javascript">
$(document).ready(function() {
//elements
var progressbox = $('#progressbox');
var progressbar = $('#progressbar');
var statustxt = $('#statustxt');
var submitbutton = $("#SubmitButton");
var myform = $("#UploadForm");
var output = $("#output");
var completed = '0%';

$(myform).ajaxForm({
beforeSend: function() { //brfore sending form
submitbutton.attr('disabled', ''); // disable upload button
statustxt.empty();
progressbox.slideDown(); //show progressbar
progressbar.width(completed); //initial value 0% of progressbar
statustxt.html(completed); //set status text
statustxt.css('color','#000'); //initial color of status text
},
uploadProgress: function(event, position, total, percentComplete) { //on progress
progressbar.width(percentComplete + '%') //update progressbar percent complete
statustxt.html(percentComplete + '%'); //update status text
if(percentComplete>50) {
statustxt.css('color','#fff'); //change status text to white after 50%
}
},
complete: function(response) { // on complete
output.html(response.responseText); //update element with received data
myform.resetForm(); // reset form
submitbutton.removeAttr('disabled'); //enable submit button
progressbox.slideUp(); // hide progressbar
}
});
});
</script>
</head>
..
..
<form id="UploadForm" action="process.php">..</form>
<div id="progressbox"><div id="progressbar"></div ><div id="statustxt">0%</div ></div>
<div id="output"></div>

关于javascript - jQuery.form uploadProgress 从未调用过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11224402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com