我的编程空间,编程开发者的网络收藏夹
学习永远不晚

HTML5如何实现上传文件显示进度

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

HTML5如何实现上传文件显示进度

这篇文章主要为大家展示了“HTML5如何实现上传文件显示进度”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“HTML5如何实现上传文件显示进度”这篇文章吧。

这里我们是结合Asp.net MVC做为服务端,您也可以是其它的服务端语言。让我们看面这个片断的HTML:

@using (Html.BeginForm("Upload", "Home", FormMethod.Post, new { enctype = "multipart/form-data" , id="form1"}))

{

<div class="row">

<label for="file">

Upload Image:</label>

<input type="file" name="fileToUpload" id="fileToUpload" multiple="multiple" 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 Image" />

</div>

<div id="progressNumber">

</div>

}

相关的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", "Home/Upload");

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) {

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.");

}

上面是就原生的Javascript,在onchange事件执行fileSelected的function,在点击button执行了uploadFile的function,这里使用XMLHttpRequest实现ajax上传文件。 注意代码在Firefox 14 可以工作,IE 9目前不支持file api,可以参加这里。 服务端的代码很简单:

public class HomeController : Controller

{

public ActionResult Index()

{

return View();

}

/// <summary>

/// Uploads the specified files.

/// </summary>

/// <param name="fileToUpload">The files.</param>

/// <returns>ActionResult</returns>

[HttpPost]

public ActionResult Upload(HttpPostedFileBase[] fileToUpload)

{

foreach (HttpPostedFileBase file in fileToUpload)

{

string path = System.IO.Path.Combine(Server.MapPath("~/App_Data"), System.IO.Path.GetFileName(file.FileName));

file.SaveAs(path);

}

ViewBag.Message = "File(s) uploaded successfully";

return RedirectToAction("Index");

}

}

以上是“HTML5如何实现上传文件显示进度”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

HTML5如何实现上传文件显示进度

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

HTML5中Ajax如何实现文件上传并显示进度条

这篇文章主要介绍HTML5中Ajax如何实现文件上传并显示进度条,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下效果图:html5上传是同步上传的方式,所以能够实现进度条的显示。1.上传文件:首先我们用aj
2023-06-08

如何实现react显示文件上传进度demo

这篇文章给大家分享的是有关如何实现react显示文件上传进度demo的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。在
2023-06-14

html如何显示文件上传进度

这篇文章给大家分享的是有关html如何显示文件上传进度的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。显示文件上传进度更好的用户体验是让用户知道文件上传进度,前面我们用过了FileReader以及读取和加载文件的事
2023-06-27

Struts2实现文件上传时显示进度条功能

最近在做一个资源共享的项目中,采用了Struts2.1.8+Spring2.5.6+hibernate3.32的框架整合方式进行开发。在文件上传这块,因为需要实现文件上传时显示进度条的功能,所以尝试了一下。怕以后忘记,先贴出来
2023-05-31

JavaWeb项目实现文件上传动态显示进度实例

很久没有更新博客了,这段时间实在的忙的不可开交,项目马上就要上线了,要修补的东西太多了。当我在学习JavaWeb文件上传的时候,我就一直有一个疑问,网站上那些博客的图片是怎么上传的,因为当提交了表单之后网页就跳转了。后来我学习到了Ajax,
2023-05-31

vue如何实现实时上传文件进度条

这篇文章主要介绍了vue如何实现实时上传文件进度条,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下//上传文件组件
2023-06-29

使用struts2实现一个文件上传功能并显示进度条

本篇文章为大家展示了使用struts2实现一个文件上传功能并显示进度条,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一. struts2读取进度原理分析1. 在strut2中控制文件上传信息的类是实
2023-05-31

使用 Golang 实现文件上传进度条如何实现?

golang 中实现文件上传进度条需要以下步骤:下载 github.com/gin-gonic/gin 和 github.com/go-bindata/go-bindata 包;导入这些包并定义一个处理上传请求的函数;在 html 页面中创
使用 Golang 实现文件上传进度条如何实现?
2024-05-13

编程热搜

目录