使用JavaScript 操作HTML5 File文件相关
2018-01-14 11:56
357 查看
一、显示用户选择【图片】实现code如下
View Code
资料参考
https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader
https://developer.mozilla.org/zh-CN/docs/Web/API/File/Using_files_from_web_applications# http://javascript.ruanyifeng.com/htmlapi/file.html
https://segmentfault.com/a/1190000005863250
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JavaScript显示用户选取的图片</title> </head> <body> <div> <input type="file" name="picture" onchange="selectPicture(this)" accept="image/gif,image/jpeg,image/jpg,image/png" /> <img src="" width="240px" id="image"/> </div> <script type="text/javascript"> function selectPicture(evt){ if (!evt.files || !evt.files[0]) { return; } console.log(evt.files); var fileName = evt.files[0].name, //文件名,该属性只读 fileSize = evt.files[0].size, //文件大小,单位为字节,该属性只读;(1KB = 1024Bytes; 1MB = 1024KB) fileType = evt.files[0].type; //文件类型 文件的MIME类型,如果分辨不出类型,则为空字符串,该属性只读。 console.log("文件总的大小"+fileSize); //FileReader包含了一套完整的事件模型,用来捕获读取文件时的状态: var reader = new FileReader(); //onerror 文件读取出错 reader.onerror = function(){ console.log("文件读取出错..."); } //文件读取中 reader.onprogress = function(evt){ console.log(evt); console.log(evt.loaded); //当前文件读取进度 console.log("文件读取中..."); if(evt.lengthComputable){ //当前上传进度 console.log(Math.round((evt.loaded/fileSize)*100)+"%"); } } //文件读取成功完成时触发 reader.onload = function (evt) { document.getElementById('image').src = evt.target.result; } //将文件读取为DataURL 返回一个基于Base64编码的data-uri对象 reader.readAsDataURL(evt.files[0]); } </script> </body> </html>
上述打印 evt.files日志log信息
try { response.setContentType("application/octet-stream"); response.setHeader("Content-disposition", "attachment;"); //设置下载文件名 response.setHeader("Content-Length", String.valueOf(fileLength)); bos = new BufferedOutputStream(response.getOutputStream()); byte[] buff = new byte[2048]; int bytesRead; while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) { bos.write(buff, 0, bytesRead); } } catch (IOException e) { e.printStackTrace(); }
View Code
资料参考
https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader
https://developer.mozilla.org/zh-CN/docs/Web/API/File/Using_files_from_web_applications# http://javascript.ruanyifeng.com/htmlapi/file.html
https://segmentfault.com/a/1190000005863250
相关文章推荐
- Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载
- asp.net中窗口相关操作(如何使用javascript) (转)
- Java编程那些事儿86——文件操作之File类使用
- Java编程那些事儿86——文件操作之File类使用
- C使用FILE指针文件操作
- Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载
- 困兽之斗!使用JavaScript执行客户端的exe文件(excute the .exe file on client-side machine by JavaScript)
- Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载
- 使用VB.NET的FileInfo和DirectoryInfo类进行文件操作
- asp.net中窗口相关操作(如何使用javascript)
- javaScript中利用ActiveXObject来创建FileSystemObject操作文件(转http://www.cnblogs.com/charles001/articles/555363.html)
- 使用Javascript完成文件操作、添加新项到HTML控件SELECT中、读取SELECT控件中的选定项
- Javascript 文件操作 Javascript File 对象
- 用JavaScript封装下FileSystemObject,做下文件操作!
- ini 文件操作记要(2): 使用 TMemIniFile
- C#中使用API(SHFileOperation)进行文件操作,特别说明了回收站相关参数
- Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载
- Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载
- Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载
- Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载