我已经被困在这个问题上好几个小时了,而且我不确定如何修复它。基本上我允许用户上传视频,因此需要一个进度条来显示上传的时间。
提交表单后,视频会成功上传。但是,jquery对进度条没有任何作用,表明上传正在进行。
javascript在下面。 Edit_User是要提交的表单的类。
$(function () {
$('.edit_user').fileupload({
dataType: 'json',
add: function (e, data){
data.submit();
},
progress: function (e, data){
var progress = parseInt(data.loaded / data.total * 100, 10);
$('.bar').css('width', progress + '%');
},
});
});
这是我的表格:
<div class="field">
<%= f.label :video %><br>
<%= f.file_field :video %>
<%= f.hidden_field :video_cache %>
</div>
<div class="progress"><div class="bar" style="width: 0%; height:10px"></div></div>
<div class="actions">
<%= f.submit "Continue" %>
</div>
我知道javascript可以访问该表单,因为我可以使用javascript来声明上传...&#39;例如,当用户选择要上传的表单时,我无法获得进度条以显示进度,或者执行其他操作,例如状态&#34;上传完成&#34;。
编辑:好的,所以我设法让它使用了一些CSS,但它似乎以不太可能的速度上传。我上传了一个23MB的文件,进度条在2秒内达到了大约100%。什么是jquery-file-uploader用来衡量文件是否上传?请帮忙!
答案 0 :(得分:0)
如果您在计算机上进行开发并上传到计算机,那肯定是合理的时间。
您可以查看浏览器上的开发者工具,并查看衡量上传时间的长短。在Chrome中,右键单击页面,选择&#34;检查&#34;然后转到“网络”选项卡。现在,当您上传文件时,您应该会看到浏览器测量时间。
(我知道它可以在IE和Safari上使用,但我不太了解这些浏览器,告诉你如何。你可能需要在这些浏览器上安装一些东西来访问这些工具)