Php 使用远程服务时更新文件上载进度
因此,我将视频文件上传到远程服务/服务器(Ooyala)。我很难弄清楚如何显示发送到服务器的文件块的进度。我已经做好了其他一切工作,显示上传进度是我的用例最不需要的。我很不愿意改变我的代码,我想这就是为什么我没有得到它。用户将文件上传到表单中,我将其分成若干块,并使用formData将其追加。然后my$.ajax将所有formData发送到我的服务器进行处理,以上载到远程Ooyala服务器:Php 使用远程服务时更新文件上载进度,php,jquery,ajax,curl,Php,Jquery,Ajax,Curl,因此,我将视频文件上传到远程服务/服务器(Ooyala)。我很难弄清楚如何显示发送到服务器的文件块的进度。我已经做好了其他一切工作,显示上传进度是我的用例最不需要的。我很不愿意改变我的代码,我想这就是为什么我没有得到它。用户将文件上传到表单中,我将其分成若干块,并使用formData将其追加。然后my$.ajax将所有formData发送到我的服务器进行处理,以上载到远程Ooyala服务器: $.ajax({ url: ".parseUploadJSON.php", data:
$.ajax({
url: ".parseUploadJSON.php",
data: formData,
processData: false,
contentType: false,
type: "POST",
success: function (result) {
if($('.notice').length != 0){
$('.notice').hide();
}
$("#progress").hide();
$("#alert").html("Thank you for your submission! Your video will be reviewed shortly. Please check back soon at <a href='http://site.com/page/local-video-uploads'>Local Video Uploads</a> to see if your entry has been approved.");
console.log(result);
}
}); //end $.ajax
我想用它作为一个指标,来判断区块是否成功发送。不幸的是,我的AJAX只在发送完所有块之后才返回响应。有没有任何方法可以使用这个$.ajax调用来实现这一点
感谢您抽出时间您可以使用
onProgress
事件跟踪上传并更新进度条。我没有太多的运气使它与jQuery一起工作,但是如果您使用XHR2请求,它会工作得很好。谢谢,我会研究它的!
foreach($upload_urls as $key => $url){
$response_bool = curlOps($_FILES['fileChunk'.$key]['tmp_name'], $url);
if($response_bool){
$percentage += (1/sizeof($upload_urls)*100);
$response_array['status'] = 'success';
$response_array['progress'] = $percentage;
}else {
$response_array['status'] = 'error';
$response_array['message'] = 'Something happened. Please refresh the page and try again';
break;
}
}