我一直停留在这个问题上几个小时,现在,我不知道如何解决它。本质上,我允许用户上传视频,因此需要一个进度条来显示上传时间。很多困难在我的轨道整合jQuery的文件上传与carrierwave应用程式
表单提交后,视频成功上传。然而,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国家“上传...”当用户选择了一个表格以上传为例,但我无法获取进度条来显示进度,或者执行状态“上传完成”等其他操作。
编辑:好的,所以我设法得到它用了CSS的工作,但它似乎不太可能的速度上传。我上传了一个23MB的文件,进度条在2秒内达到了100%。什么是jquery-file-uploader用来衡量文件是否上传?
请帮忙!