HTML5_纯JS实现上传文件显示文件大小,文件信息,上传进度_不使用JS库
前台 html
                                    <input type="file" id="_netLogo" onchange="fileSelected();">
                                    <div id="fileName">
                                    </div>
                                    <div id="fileSize">
                                    </div>
                                    <div id="fileType">
                                    </div> 
                                    <div id="progressNumber">
                                    </div>
                                    <button type="button" class="btn btn-default" onclick="uploadFile()">上传</button>
前台JS
<script type="text/javascript">
function fileSelected() {
        var file = document.getElementById('_netLogo').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("_netLogo", document.getElementById('_netLogo').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.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xhr.open("POST", "/User/WNetEdit2_test");
        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) {
        /* This event is raised when the server send back a response */
        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>
后台 测试函数
public string WNetEdit2_test()
        {
            var f = Request.Files[0];
            string path = System.IO.Path.Combine(Server.MapPath("~/App_Data"), System.IO.Path.GetFileName(f.FileName));
            f.SaveAs(path);
            return "File(s) uploaded successfully";
        }
HTML5_纯JS实现上传文件显示文件大小,文件信息,上传进度_不使用JS库的更多相关文章
- 慧自文档:代替 Everything 来快速查找文件的,实现文件显示在文件夹的层次结构中
		
1. 搜索功能和Everything一样快和强大 具有 Everything 搜索快.搜索功能强等优点, 解决了不能方便选择搜索哪个文件夹, 解决了不能同一个画面进行预览等问题 2.文件直接显示到文件 ...
 - js 文件异步上传 显示进度条 显示上传速度 预览文件
		
通常文件异步提交有几个关键 1.支持拖拽放入文件.2.限制文件格式.3.预览图片文件.4.上传进度,速度等,上传途中取消上传.5.数据与文件同时上传 现在开始笔记: 需要一个最基础的元素<inp ...
 - JS原生上传大文件显示进度条-php上传文件
		
JS原生上传大文件显示进度条-php上传文件 在php.ini修改需要的大小: upload_max_filesize = 8M post_max_size = 10M memory_li ...
 - 文件上传及时显示, 前端js和后端php相互结合使用
		
文件读取 javascript 绑定文件上传变化事件 onchange 利用window对象 FileReader 调用方法 readerAsDataURL onload 方法 异步读取 属性:fil ...
 - 打造 html5 文件上传组件,实现进度显示及拖拽上传,支持秒传+分片上传+断点续传,兼容IE6+及其它标准浏览器
		
老早就注册了博客园帐号,昨天才发现,连博客都没开,Github也是一样,深觉惭愧,赶紧潜个水压压惊`(*∩_∩*)′ 言归正传.大概许多人都会用到文件上传的功能,上传的库貌似也不少,比如(jQuery ...
 - Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现)(转)
		
Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现) 相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦 ...
 - 【原创】用JAVA实现大文件上传及显示进度信息
		
用JAVA实现大文件上传及显示进度信息 ---解析HTTP MultiPart协议 (本文提供全部源码下载,请访问 https://github.com/grayprince/UploadBigFil ...
 - ajaxfileupload.js插件结合一般处理文件实现Ajax无刷新上传
		
先上几张图更直观展示一下要实现的功能.本功能主要通过Jquery ajaxfileupload.js插件结合ajaxUpFile.ashx一般应用程序处理文件实现Ajax无刷新上传功能,结合NPOI2 ...
 - 如何用php实现文件上传与显示
		
首先,我们要创建一个前台页面用于操作选择文件等: <body> <div id="div1"></div> <form action=&q ...
 
随机推荐
- 14、SpringBoot------定制错误返回内容json格式
			
开发工具:STS 前言: 在前后端分离的项目中,当前端向后端请求资源失败时,想知道具体的错误原因,给用户予以提示. 但是,在springboot中返回内容是固定的.并不适合我们前端进行分析. 所以,就 ...
 - 精心收集的48个JavaScript代码片段,仅需30秒就可理解
			
源文链接 :https://github.com/Chalarangelo/30-seconds-of-code#anagrams-of-string-with-duplicates 该项目来自于 G ...
 - 1801: [Ahoi2009]chess 中国象棋
			
Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 2520 Solved: 1524[Submit][Status][Discuss] Descripti ...
 - Docker自学纪实(三)Docker容器数据持久化
			
谈起数据卷 我一直觉得是个枯燥无聊的话题 但是通过今天的实操和阅读 我发现其实并不是 其实就像走夜路 没有光明,第一次都是恐惧 但是如果走的次数多了 或者静下心来去克制恐惧 也许就会驾轻就熟或者等到黎 ...
 - 在程序开发中,++i 与 i++的区别
			
在不参与运算的情况下,i++和++i都是在变量的基础加1 ◆在参与运算的情况下 Var i=123; Var j=i++; 先将i的值123赋值给j,之后再自增 j的值为123 i 的值为124 ...
 - PHP队列的实现
			
队列是一种特殊的线性表,它只允许在表的前端,可以称之为front,进行删除操作:而在表的后端,可以称之为rear进行插入操作.队列和堆栈一样,是一种操作受限制的线性表,和堆栈不同之处在于:队列是遵循“ ...
 - 493. Reverse Pairs
			
// see more at https://www.youtube.com/watch?v=j68OXAMlTM4 // https://leetcode.com/problems/reverse- ...
 - GDOI--DAY2 游记
			
今天,熬夜不够多,果然,不出所料,爆零了... 第一题,看到数据之大,懵逼了,于是,敲了个二分SPFA,但是!最大的点GG了,呜呜~~~~(>_<)~~~~ ,于是,就不继续做第一题了(虽 ...
 - c++ function和bind
			
bind 定义在头文件 functional 里 template<typename _Func, typename... _BoundArgs> inline typename _Bin ...
 - linux ipc信号量
			
ipcs 命令,可以看到当前系统上的共享资源实例 ipcrm 命令,可以删除一个共享资源实例 linux 操作信号量的函数有三个:semget, semop, semctl semget 声明为: # ...