当前位置:首页 » 文件管理 » jq上传文件进度条

jq上传文件进度条

发布时间: 2022-06-21 10:23:02

① 如何利用自定义文本框+图片来实现文件上传效果

用普通的js有点儿过时了。可以采用jQuery。文件上传是网站很常见的功能之一,通过使用jQuery可以让上传过程更加人性化,更好的用户体验。

介绍20个jQuery的文件上传插件,其中有一些是教程。
1. Plupload
Plupload 是一个Web浏览器上的界面友好的文件上传模块,可显示上传进度、图像自动缩略和上传分块。可同时上传多个文件。
2. The KillersAjax Upload
该插件使用 XHR 用于上传多个文件,支持上传进度显示,但不支持 IE
3. SWFUpload jQuery Plugin
4. AjaxFileUpload
5. Uploadify
Uploadify简单说来,是基于Jquery的一款文件上传插件。它的功能特色总结如下:
支持单文件或多文件上传,可控制并发上传的文件数
在服务器端支持各种语言与之配合使用,诸如PHP,.NET,java……
通过参数可配置上传文件类型及大小限制
通过参数可配置是否选择文件后自动上传
易于扩展,可控制每一步骤的回调函数(onSelect, onCancel……)
通过接口参数和CSS控制外观
6. jQuery Multiple File Upload Plugin
7. jqUploader
jqUploader 是实现文件上传的jQuery插件
8. jQuery Form Plugin
jQuery Form Plugin 是一个扩展表单操作的 jQuery 插件,直接文件上传表单
9. jQuery Form Plugin
10. jqswfupload
11. uploadprogress
12. jQuery File Upload
13. Multiple File Upload With Progress Bar Using jQuery
14. jQuery.upload
一个简单的 Ajax 文件上传插件
15. Ajax File Upload Script Using jQuery
jQuery File Uploader 使用 iframe 来处理上传过程
16. jQuery Custom File Upload Input
17. Image Upload and Cropping with PHP and Jquery
18. PHP & jQuery image upload and crop
19. AJAX upload progress bars with jQuery, Django and nginx
20. Uploading Files with AJAX
21. AJAX Multiple File Upload Form Using jQuery
22. FancyUpload – Swiff meets Ajax (v3.0)
FancyUpload是一个采用Flash与Ajax(MooTools)技术实现包含上传进度条的多文件上传组件,类似于SWFUpload。MooTools是一个与prototype相类似的一个Ajax框架。

去网络,搜索这里面的名称,就能找到了。 非常强大。

② jQuery Ajax进度条效果

其实这种效果在实际应用中并不是太实用,如果你需要有一个进度的话,这必然前台与后台要实时交互才会出效果。比如你从数据库中遍历一组用户的信息,这中间需要一个不断递增的数字来实时调节页面的进度条。这就需要你不断的去请求服务器。当然也可以做个纯页面处理不通过服务器的,但执行时间你无法估计,造成不同步。

有一个简单的方法,首先得到这个需要读取数据的总条目数,然后在前台页面使用一个类似于递归的循环调用这个AJAX方法,再通过返回的数据来实时控制页面的进度条,通过返回成功的状态重复来调用此方法,最后用总条目数来控制这个递归什么时候停止。

③ django文件上传的时候怎么能加一个上传进度的显示

首先需要一个表单来让用户选择要上传的文件。

1 <form id="form_upload" action="/upload" method="POST">
2 <input type="file" name="picture" id="picture" />
3 <input type="hidden" id="X-Progress-ID" name="X-Progress-ID" value=""/>
4 <input type="hidden" id="id" name="id" value=""/>
5 <input id="form_submit_button" class="tp-button" type="submit" value="Submit" />
6 </form>
这里增加了两个隐藏的输入框,第一个是 ‘X-Progress-ID’,代表上传 ID,这样我们才能够在服务器端支持并发的上传请求。稍后我们会看到,服务器是如何处理这个值的。

然后还有一个隐藏输入框 ‘id’,在我们的例子里代表菜品的编号。

我们将使用 Ajax 来发送 POST 请求,这样表单便可以很好地集成在现代的网络界面中,同时包含一个进度条。我们打算使用 jQuery Form plugin 来实现这一点。

函数 ajaxSubmit() 将会帮我们搞定一切。

为上传 ID 生成一个随机字串,并用它设置输入框的值。
需要指定一个用于上传请求的 URL 和两个回调函数:一个在请求前调用,另一个在请求完成后调用。

1 $('#X-Progress-ID').val('random string');
2 var options = {
3 dataType: 'xml',
4 url: '/upload?X-Progress-ID='+$('#X-Progress-ID').val(),
5 beforeSubmit: showRequest,
6 success: showResponse
7 }
8 $('#form_upload').ajaxSubmit(options);
showRequest 回调函数只需要像下面这么简单就行了:

1 function showRequest(formData, jqForm, options) {
2 // do something with formData
3 return True;
4 }
在 showResponse 函数中,我们需要处理响应,并对它进行操作。在我的例子里,我处理了服务器返回的带有状态值的 xml。

1 function showResponse(response) {
2 // do something with response
3 }
用户按下提交的时候,我们希望显示一个进度条,因此可以使用下面的 JS 代码,向表单添加进度条。progressBar() 方法是 jQuery progress bar plugin 的一部分。

1 $('#form_upload').find('#form_submit_input').append('<span id="uploadprogressbar"></span<');
2 $('#form_upload').find('#uploadprogressbar').progressBar();
现在我们需要添加一个每隔几秒运行一次的函数,来从服务器获取上传进度,并相应地更新进度条。

为此,我们使用 setInterval() 向服务器发出一个 GET 请求,获取 JSON 格式的进度值。我们向服务器传送上传 ID。当返回 null 值的时候,就可以知道上传已经结束。

01 function startProgressBarUpdate(upload_id) {
02 $("#uploadprogressbar").fadeIn();
03 if(g_progress_intv != 0)
04 clearInterval(g_progress_intv);
05 g_progress_intv = setInterval(function() {
06 $.getJSON("/get_upload_progress?X-Progress-ID="
07 + upload_id, function(data) {
08 if (data == null) {
09 $("#uploadprogressbar").progressBar(100);
10 clearInterval(g_progress_intv);
11 g_progress_intv = 0;
12 return;
13 }
14 var percentage = Math.floor(100 * parseInt(data.uploaded) / parseInt(data.length));
15 $("#uploadprogressbar").progressBar(percentage);
16 });

④ jquery Uploadify 上传完毕进度条一般会自动消失,如何设置上传完毕之后进度条保留

要看你是哪个版本了,3.1的话,把removeCompleted这个属性设置为false就可以了,如果是以前的版本呢,就在onComplete这个事件return false

⑤ Ajax文件上传进度条如何实现(jquery版本

前端要做的就是设置一个定时器通过接口去后台获取当前上传进度是多少,然后渲染出进度条就行。当进度达到100%时清除定时器。

⑥ 关于js或jquery进度条实现

写一个div定义宽高,下面铺一个背景图片,作为进度条为空的情况。
再在div内部加添加一个img图片,这个图片要可以左右延展的。然后用JavaScript动态控制图片的宽度即可,实现进度展现。

⑦ 用jquery如何实现提交表单点击提交之后显示正在上传中,之后显示上传成功的效果

需要准备的材料分别有:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html,并引入jquery。

⑧ jquery上传文件是怎么实现的

本篇文章是对Jquery中的LigerUI实现文件上传的方法,进行了分析介绍,需要的朋友可以参考下
一、在Head中加入
<script src="../lib/js/ajaxfileupload.js" type="text/javascript"></script>
<script src="../lib/js/ligerui.expand.js" type="text/javascript"></script>
二、Html中的Div代码

复制代码 代码如下:
<div id="AppendBill_Div" style="display:none;"> <%-- 上传 - 单 --%>
<table style="height:100%;width:100%">
<tr style="height:40px">
<td style="width:20%">
图标:
</td>
<td><input type="file" style="width:200px" id="fileupload" name="fileupload"/>
</td>
</tr>
</table>
</div>

三、Js中-写的是关键部分,会LigerUI的朋友-你懂得
1、grid中添加项【存地址字段】
{ display: "扫描件", name: "AppendBillPath", width: 120, type: "text", align: "left" }
2、Form可添加项【存地址和弹出选择框】
{ name: "AppendBillPath1", type: "hidden" }, // --上传-【5】--
{ display: "扫描件", name: "AppendBillPath", comboboxName: "AppendBillPath2", newline: true, labelWidth: 100, width: 150, space: 30, type: "select", options: {}} // --上传-【6】--
$.ligerui.get("AppendBillPath2").set('onBeforeOpen', f_selectAppendBillPath_1) // 【扫描件】 // --上传-【7】--
3、事件
// #region ======================================= 【上传扫描件窗口】 // --上传-【8】--
复制代码 代码如下:
var AppendBillPathDetail = null;
function f_selectAppendBillPath_1() {
var imageurl = $("#AppendBill").val();
var AppendBill_Id = $("#AppendBill").val(); // 单号
if (imageurl.length == 0) {
LG.showError("您没有输入单号,请输入随单号!");
return;
}
if (AppendBillPathDetail) {
AppendBillPathDetail.show();
}
else {
AppendBillPathDetail = $.ligerDialog.open({
target: $("#AppendBill_Div"), title: '添加图标',
width: 360, height: 170, top: 170, left: 280, // 弹出窗口大小
buttons: [
{ text: '上传', onclick: function () { AppendBillPath_save(); } },
{ text: '取消', onclick: function () { AppendBillPathDetail.hide(); } }
]
});
}
}
function AppendBillPath_save()
{
var imgurl = $("#fileupload").val();
// var filehelpcode = $("#filehelpcode").val();
var extend = imgurl.substring(imgurl.lastIndexOf("."), imgurl.length);
extend = extend.toLowerCase();
if (extend == ".jpg" || extend == ".jpeg" || extend == ".png" || extend == ".gif" || extend == ".bmp")
{
}
else
{
LG.showError("请上传jpg,jpep,png,gif,bmp格式的图片文件");
return;
}
var imageurl = $("#AppendBill").val(); // extend
alert(imageurl);
$.ajaxFileUpload({
url: "../handle/ImageUpload.aspx?imageurl=" + imageurl, // --上传-【9】-- aspx文件
secureuri: false,
fileElementId: "fileupload", //Input file id
dataType: "text",
success: function (data, status)
{
// ----------------- // 保存路径
// $("#AppendBillPath2").val(Data);

LG.tip(data);
f_reload();
},
error: function (data, status, e) {
LG.showError(data);
}
});
}
// #endregion

四、后台cs,写一句关键的,可以返回参数,前台提示
string url = Server.MapPath("/Image/" + gfilename + filenameext); // 执行上传操作

⑨ java 做进度条 ajax实现 js jquery ext 都可以需要具体实现过程和代码 需要读取数据

这个好像做不到,现在一般有的效果就是上传文件时的进度条。
像你说得读取数据之类还没遇见过,一般也只是加个循环转动的图片等待而已,不能做到实时。

⑩ 用jquery实现进度条效果

二楼的方法不是常规的解决办法,个人感觉不是很好(不过他实现的加载进度是真实的,他的进度条是可以反映当前未加载页面的剩余内容的---其实这种方法也挺好....不过一般情况下没什么必要吧,如果要做成这样的,用flex更好)。
一楼的方法不是正确的。如果简单地放一个loading图片在页面上的话,会有两种情况:一、有可能实现加载的效果 。 二、在整个页面其它元素加载了大部分或全部后,这张图片才加载进来,那就实现不了加载的效果了。

常规的解决办法还是用ajax比较好。大概是这样的。
需要两个页面。1.一个是实际页面本身 2.另一个是一个空白页面放一张loading图片
先请求第2个页面,在这个页面中放一段ajax请求第1个页面,在success函数里将页面内容输出,并将loading图片隐藏掉。
代码是这样的:
loading page:
<body>
<img id='loadingImg' src='loading.gif' />
<body>
<script>
$.ajax({
type: 'GET',
url: 实际页面路径,
data: {},
success: function(){
$('body').append(data);
$('#loadingImg').hide();//或直接remove()
},
dataType: 'html'
});
</script>

==========================================================
呵呵,一个加载的问题要考虑搜索的话原来就这么麻烦了。 <div id="forspider">.....给搜索蜘蛛看的纯HTML....</div>这里面的内容是整个实际页面的HTML吗?是的话,那这个loading页面本身加载就很笨重了,还不如直接跳到真实页面呢。 哎,可惜我不太懂搜索,悲剧。请指教----为什么要用绝对定位覆盖的方法来隐藏。直接把这一层display:none的话蜘蛛也会看不到吗?
以上回答你满意么?

热点内容
长江存储研发 发布:2024-05-10 01:29:19 浏览:685
安卓植物大战僵尸2怎么id登录 发布:2024-05-10 01:17:04 浏览:249
荣耀v8铃声文件夹 发布:2024-05-10 01:11:35 浏览:368
php快速入门及项目实战 发布:2024-05-10 01:00:25 浏览:399
道德编程 发布:2024-05-10 00:31:48 浏览:195
监控配置关联存储服务器 发布:2024-05-09 23:50:34 浏览:271
马云编程题 发布:2024-05-09 23:50:28 浏览:84
安卓手机内存如何合并 发布:2024-05-09 23:34:43 浏览:883
汽车配置看什么地方 发布:2024-05-09 23:34:29 浏览:824
汽车芯片密码在哪里买 发布:2024-05-09 23:26:04 浏览:187