• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > 使用Html5实现异步上传文件,支持跨域,带有上传进度条

使用Html5实现异步上传文件,支持跨域,带有上传进度条

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含Html5,异步,上传文件,跨域,进度条等相关知识,匿名希望在学习及工作中可以帮助到您
下面小编就为大家带来一篇使用Html5实现异步上传文件,支持跨域,带有上传进度条。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

服务器准备IIS

需要设置IIS里面的HTTP响应标头,如图添加如下设置,添加这项“Access-Control-Allow-Origin”,只有添加了这行才能支持跨域,不然像Chrome浏览器会报错

使用Html5实现异步上传文件,支持跨域,带有上传进度条

使用Html5实现异步上传文件,支持跨域,带有上传进度条

页面代码:


XML/HTML Code复制内容到剪贴板

<!DOCTYPE html>  
<html>  
<head>  
    <meta http-equiv="content-type" content="text/html;charset=utf-8">  
    <meta name="format-detection" content="telephone=no">  
    <meta name="msapplication-tap-highlight" content="no">  
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">  
    <title>Html5上传文件</title>  
</head>  
<body>  
    <p class="app">  
        <h1>Html5上传文件测试,带进度条</h1>  
        <p>  
            <input type="file" value="" id="fileInput" name="files" onchange="fileSelected()" />  
            <p style="margin:30px;">  
                <input type="button" value="上传" onclick="uploadFile()" />  
            </p>  
            <p style="margin:30px;">  
                <p id="fileName"></p>  
                <p id="fileSize"></p>  
                <p id="fileType"></p>  
            </p>  
            <p style="margin:30px;width:500px;height:15px;border:1px solid #aeaeae;">  
                <p id="progress" style="background:#4cff00;height:15px;width:0%;"></p>  
                <p id="percentNumber"></p>  
            </p>  
            <p style="margin:30px;">  
                <p id="msg"></p>  
            </p>  
        </p>  
    </p>  
    <script type="text/javascript">  
        function fileSelected() {   
            //重置状态显示   
            document.getElementById("msg").innerHTML = "";   
            document.getElementById('percentNumber').innerHTML = '';   
            document.getElementById("progress").style.width = "0%";   
            var file = document.getElementById('fileInput').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("fileInput", document.getElementById('fileInput').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", "http://10.0.0.200:9001/Home/Upload");//修改为自己服务器接口地址   
            //xhr.setRequestHeader("Access-Control-Allow-Origin", "*");//需要在IIS里面配置,就可以跨域请求了   
            //xhr.setRequestHeader("Content-Type", "multipart/form-data");   
            xhr.send(fd);   
        }   
        function uploadProgress(evt) {   
            if (evt.lengthComputable) {   
                var percentComplete = Math.round(evt.loaded * 100 / evt.total);   
                document.getElementById('percentNumber').innerHTML = percentComplete + '%';   
                var jindutiao = document.getElementById("progress");   
                jindutiao.style.width = percentComplete + "%";   
            }   
            else {   
                document.getElementById('percentNumber').innerHTML = '不支持进度计算';   
            }   
        }   
        function uploadComplete(evt) {   
            //evt.target.responseText   
            document.getElementById("msg").innerHTML = "上传成功";   
        }   
        function uploadFailed(evt) {   
            document.getElementById("msg").innerHTML = "上传过程中有一个错误";   
        }   
        function uploadCanceled(evt) {   
            document.getElementById("msg").innerHTML = "用户取消了上传或者浏览器删除了连接";   
        }   
    </script>  
</body>  
</html>

以上这篇使用Html5实现异步上传文件,支持跨域,带有上传进度条就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持微课江湖。

更多使用Html5实现异步上传文件,支持跨域,带有上传进度条相关文章请关注微课江湖!

相关文章:

如何获取thinkphp3.2.3 上传文件路径

Thinkphp3.2.3整合phpqrcode生成二维码的示例代码分享

PHP 实现页面无刷新上传文件

使用Html5实现异步上传文件,支持跨域,带有上传进度条

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2018-12-03这个canvas做出来的交互效果具体是怎么实现的?有什么工具有助于做这类开发吗?
  • 2018-12-03画图工具如何使用?总结画图工具实例用法
  • 2017-08-06HTML5 Canvas自定义圆角矩形与虚线示例代码
  • 2018-12-03腾讯问卷 http://ur.qq.com/ 是如何实现导航栏毛玻璃背景效果的?
  • 2018-12-03HTML5之SVG 2D入门9—蒙板及mask元素介绍与应用_html5教程技巧
  • 2018-12-03HTML5游戏开发 之 循环的控制(2)
  • 2018-12-03怎样使用phonegap查找联系人
  • 2018-12-03HTML5 Canvas的事件处理介绍_html5教程技巧
  • 2018-12-03关于老式浏览器兼容HTML5和CSS3的问题详解
  • 2018-12-03HTML5使用ApplicationCache接口实现离线缓存技术解决离线难题_html5教程技巧

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 关于动画应用的6篇文章推荐
    • 目前有哪些比较成熟的 HTML5 游戏引擎?
    • 用仿ActionScript的语法来编写html5——第七篇,自定义按钮
    • HTML5 预加载让页面得以快速呈现_html5教程技巧
    • 使用phonegap进行提示操作的具体方法
    • HTML5学习笔记简明版(1):HTML5介绍与语法
    • HTML5实战与剖析之跨文档消息传递(iframe传递信息)
    • HTML5网络拓扑图性能优化的图文详解
    • HTML5 Canvas绘制文本及图片的基础教程
    • H5的audio音频和video视频使用详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有