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

html上传进度条

发布时间: 2022-09-03 22:05:33

A. html 怎么做出这种进度条一样的 或者让range实时显示值也可以啊

获取range的值就行了,然后将其显示出来,你实时改变range的值,显示的就会实时改变

<!DOCTYPEhtml>
<html>
<head>
<metacharset="UTF-8">
<title></title>
</head>
<body>
<inputid="range"type="range"min="0"max="50000"value="5"step="10"oninput="change()"onchange="change()">
<spanid="value">0</span>
<scripttype='text/javascript'>
functionchange(){
varvalue=document.getElementById('range').value;
document.getElementById('value').innerHTML=value;
}
</script>

</body>
</html>

B. 前端上传文件实时显示进度条和上传速度的工作原理是怎样的

后端的责任。

C. JSP 上传文件进度条怎么做

HTTP本身无法实现上传
进度条
,因为无法使用JS访问文件系统,并对
文件流
进行分块。
可以考虑2种方式实现上传进度条:
1.flash:flash可以访问文件系统,并以二进制方式上传文件,这可以将文件进行分块;
2.使用
ActiveX控件
:这个比较复杂一点,能够监控到每一个字节的进度,可以自己开发或使用第三方库。一般来说,对于前台类型的页面,出于安全和可用性不建议使用ActiveX控件,

D. 如何在手机浏览器中运用HTML5的文件API实现上传多图功能

Html5终于解决了上传文件的同时显示文件上传进度的老问题。现在大部分的网站用Flash去实现这一功能,还有一些网站继续采用Html <form>with enctype=multipart/form-data,但是需要修改服务器端可用才能显示给用户文件上传的进度。本质上你需要做的工作是在服务器端接收一个文件时,你发送给它一个字节流,所以你需要知道你已经接收到多少字节并以某种方式传达这些信息给客户端浏览器,在这个过程一直在不断的进行文件的上传。这种方式运行的非常好,不像Flash上传那这样充满了问题(特别是处理大文件上传的时候),然而这种方法是相当复杂的并且听起来不容易理解,因为你本质上是接管了整个服务器端的处理(获取字节流的时候)同时包括了在服务器端实现multipart/form-data协议,伴随一系列的其他事情。
使用Html5 上传文件
XMLHttpRequest 在Html5 规范中已经有全新的变化,规定了XMLHttpRequest Level 2规范(目前最新版本)包含下列新的特性:
处理字节流,例如作为上传或者下载的File,Blob,FormData对象
上传或者下载中的进度事件
跨站点请求
允许创建匿名请求
可以设置请求超时
在这篇文章中我们将能够更清楚的看到#1和#2两个特性。通常,上传文件用XMLHttpRequest并且提供上传进度信息给最终的用户,需要注意的是这种方式解决了不需要服务器端做任何改变,至少是目前处理multipart/form-data协议。所以服务器端的处理逻辑保留不变,这使得开发者适应这种技术相当容易。
图1:文件上传画面-准备上传 图2:显示上传完成画面
注意:上面的图片中,信息提示区域是提供给用户的:
当前选中文件的信息
文件名
文件大小
文件类型
上传完成多少的百分比进度条
上传速度或者上传带宽
距离上传完成大概还有多长时间
已上传文件大小
服务器端的响应
上面第6项或许看起来不重要,但事实上是相当重要的。因为我们用XMLHttpRequest,上传发生在后台,页面没有发生跳转等任何变化,所以对于你用它处理其他一些事情来说是一个非常好的特性。
Html5 Progress Event
对于Html5 Progress Events规范,Html5 Progess Events提供了下列与本次讨论相关的信息
total - 总的字节数
loaded - 到目前为止上传的字节数
lengthComputable - 可计算的已上传字节
请注意到我们需要用两个信息去计算要显示给用户的其他所有信息。要计算出来其他的信息通过上面我们得到信息是相当容易的,但是那需要一些额外的代码并且创建一个定时器。
Html5 Progress Event 应该是什么
考虑到有一部分人想更好的提供给用户所有的信息,所以Html5 Progress Event应该更好的满足需要,因为它给浏览器供应商提供这些额外信息是相当简单的,所以建议progress event应该修改成如下:
total - 总的字节数
loaded - 到目前为止上传的字节数
lengthComputable - 可计算的已上传字节
transferSpeed long类型
timeRemaining JavaScript 日期对象
Html5 上传 用XMLHttpRequest
浏览器支持情况
支持这一特性的浏览器最低版本
Firefox 4.0 beta 6
Chrome 6
Safari 5.02
IE 9 Beta and Opera 10.62 不支持这一特性
简单的示例
下面是一个完整的Html页面包含了实现文件上传并带有进度提示的JavaScript代码,只是实现了基本的功能,感兴趣的可以自己做扩展。 需要吧上传接口修改成自己服务的。

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66

<!DOCTYPE html>
<html>
<head>
<title>Upload Files using XMLHttpRequest - Minimal</title>
<script type="text/javascript">
function fileSelected() {
var file = document.getElementById('fileToUpload').files[0];
if (file) {
var fileSize = 0;
if (file.size > 1024 * 1024)
fileSize = (Math.round(file.size * 100 / (1024 * 1024)) / 100).toString() + 'MB';
else
fileSize = (Math.round(file.size * 100 / 1024) / 100).toString() + 'KB';
document.getElementById('fileName').innerHTML = 'Name: ' + file.name;
document.getElementById('fileSize').innerHTML = 'Size: ' + fileSize;
document.getElementById('fileType').innerHTML = 'Type: ' + file.type;
}
}
function uploadFile() {
var fd = new FormData();
fd.append("fileToUpload", document.getElementById('fileToUpload').files[0]);
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener("progress", uploadProgress, false);
xhr.addEventListener("load", uploadComplete, false);
xhr.addEventListener("error", uploadFailed, false);
xhr.addEventListener("abort", uploadCanceled, false);
xhr.open("POST", "upload.do");//修改成自己的接口
xhr.send(fd);
}
function uploadProgress(evt) {
if (evt.lengthComputable) {
var percentComplete = Math.round(evt.loaded * 100 / evt.total);
document.getElementById('progressNumber').innerHTML = percentComplete.toString() + '%';
}
else {
document.getElementById('progressNumber').innerHTML = 'unable to compute';
}
}
function uploadComplete(evt) {
/* 服务器端返回响应时候触发event事件*/
alert(evt.target.responseText);
}
function uploadFailed(evt) {
alert("There was an error attempting to upload the file.");
}
function uploadCanceled(evt) {
alert("The upload has been canceled by the user or the browser dropped the connection.");
}
</script>
</head>
<body>
<form id="form1" enctype="multipart/form-data" method="post" action="Upload.aspx">
<div class="row">
<label for="fileToUpload">Select a File to Upload</label><br />
<input type="file" name="fileToUpload" id="fileToUpload" onchange="fileSelected();"/>
</div>
<div id="fileName"></div>
<div id="fileSize"></div>
<div id="fileType"></div>
<div class="row">
<input type="button" onclick="uploadFile()" value="Upload" />
</div>
<div id="progressNumber"></div>
</form>
</body>
</html>

E. 前端上传文件实时显示进度条和上传速度的工作原理是怎样的

xhr对象的upload.onprogress事件在上传过程中会多次回调
可以获取到当前上传的字节数、总字节数、时间戳等信息

根据上传字节数和总字节数计算上传百分比
根据时间戳可以判断两次progress事件间隔,再判断此期间内的上传字节数,做个除法就是上传速度

F. html5文件上传实现进度条需要后端吗

不需要后端的,前端自己判断,代码如下:
function uploadFile(){

// 获取上传文件,放到 formData对象里面
var pic = $("#myhead").get(0).files[0];
var formData = new FormData();
formData.append("file" , pic);
$.ajax({
type: "POST",
url: "upload",
data: formData ,//这里上传的数据使用了formData 对象
processData : false,
//必须false才会自动加上正确的Content-Type
contentType : false ,

//这里我们先拿到jQuery产生的 XMLHttpRequest对象,为其增加 progress 事件绑定,然后再返回交给ajax使用
xhr: function(){
var xhr = $.ajaxSettings.xhr();
if(onprogress && xhr.upload) {
xhr.upload.addEventListener("progress" , onprogress, false);
return xhr;
}
}
});

G. jsp 在html5中实现 断点续传 进度条 要完成的案例,包括 jsp servlet

可以把进度信息放在cookie里,下次打开浏览器,到上传页面以后,从cookie中上次的读取进度信息,上传时,读取上传文件到上次进度位置,继续上传

H. 如何用js+html+server端代码实现上传文件并带进度条

直接使用一个上传组件就行了,没必要自己实现的。
建议使用网络提供的webuploader文件上传插件可以轻松实现你的需求

I. html上传文件代码

在HTML标准中,XMLHttpRequest对象被重新定义,被称为“XMLHttpRequest Level 2”,其中包含了以下5个新特性:

1、支持上传、下载字节流,比如文件、blob以及表单数据。

2、增加了上传、下载中的进度事件。

3、跨域请求的支持。

4、允许发送匿名请求(即不发送HTTP的Referer部分)。

5、允许设置请求的超时。

    在这篇教程中,我们主要关注第一和第二项特性,尤其是第二项——它能够提供我们想要的上传进度。和之前的方案不同,这个方案并不要求服务器作出特殊的设置,因此大家边看教程就可以边动手试试了。

    上面图示的就是我们能够实现的内容:

    1、显示上传的文件信息,比如文件名、类型、尺寸。

    2、一个能够显示真实进度的进度条。

    3、上传的速度。

    4、剩余时间的估算。

    5、已上传的数据量。

    6、上传结束后服务器返回的响应。

    另外,凭借XMLHttpRequest,我们的上传过程整个都是异步的,因此用户在上传文件的时候,依然可以操作网页当中的其它元素,并不需要专门等待上传的完成。而在上传结束后,我们能够获取服务器发回的响应,因此整个上传过程都显得相当顺理成章。

J. html5怎么控制进度条

<!DOCTYPEhtml>
<html>
<head>
<metacharset="UTF-8">
<title>Inserttitlehere</title>
</head>
<style>
.jdtbox{
padding:10px0;
}

.jdt_dbg{
background:#fce5e5;
width:196px;
height:18px;
border-radius:10px;
-webkit-border-radius:10px;
overflow:hidden;
border-top:1pxsolid#f9d1d1;
}

.jdt_mbg{
background:#f12938;
height:18px;
width:75%;
height:20px;
}
</style>
<scripttype="text/javascript">
$(function(){
$(".jdt_mbg").animate({
width:"50%",
},1000);
});
</script>
<body>
<formaction="http://192.168.1.106:8080/app/img/multiUpload"method="post"enctype="multipart/form-data"name="upload_form">
<label>选择图片文件</label>
<inputname="imgFile"type="file"multiple="multiple"accept="image/gif,image/jpeg"/>
<inputname="upload"type="submit"value="上传"/>
</form>
<divclass="jdtbox">
<divclass="jdt_dbg">
<divclass="jdt_mbg"style="width:${investDetail.percent*100"></div>
</div>
</div>
</body>
</html>

热点内容
编译原理视频教程推荐 发布:2024-10-12 10:26:33 浏览:522
我的世界神奇宝贝服务器怎么穿墙 发布:2024-10-12 10:06:08 浏览:251
phpsession数组 发布:2024-10-12 10:02:25 浏览:105
重建sqlserver2008 发布:2024-10-12 09:31:30 浏览:816
android配置环境变量 发布:2024-10-12 09:22:01 浏览:734
安卓手机如何连接大众车导航 发布:2024-10-12 08:58:17 浏览:734
linuxandroidsdk配置 发布:2024-10-12 08:49:34 浏览:560
爬虫项目实战python 发布:2024-10-12 08:33:59 浏览:108
网站架设多服务器ip 发布:2024-10-12 07:42:15 浏览:190
linuxjdbc 发布:2024-10-12 07:38:10 浏览:201