博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
h5 FileReader 上传文件
阅读量:5827 次
发布时间:2019-06-18

本文共 1526 字,大约阅读时间需要 5 分钟。

hot3.png

HTML5定义了FileReader作为文件API的重要成员用于读取文件,FileReader接口提供了读取文件的方法和包含读取结果的事件模型。

关于FileReader的使用的每个api的使用,在这里就不说明了,想知道的可以转向这里

这里主要说明它在说上传文件方面的案例

思路: 利用FileReader获取文件并进行Base64编码 , 保存编码并提交到服务器 , 服务获取到上传的Base64编码后,对其进行解码, 还原成文件,并保存在服务器

---jsp页面读取文件,并进行Base64编码 , 我在这里保存了文件名并传递到服务器,方便服务器做处理

$("#fileup").change(function(){  	        var v = $(this).val();  	        var reader = new FileReader();  	        reader.readAsDataURL(this.files[0]);  	        reader.onload = function(e){  	            //console.log(e.target.result);  	            $("#str_file").val(e.target.result);  	        };     });

----服务器接受到Base64码字符串, 针对此字符串进行处理 , 解码成byte[] , 在利用文件流写文件

//获取file base64字符串String str_file = request.getParameter("str_file");//FileReader编码的Base64码前面有一段标示符, 在解码前需要去掉String file_base64 = str_file.replace("data:application/msword;base64,", ""); BASE64Decoder decoder = new BASE64Decoder();  try {  	            // Base64解码  	            byte[] b = decoder.decodeBuffer(file_base64);  	            // 生成路径  	            String strDirPath = request.getSession().getServletContext().getRealPath("/")+file_name;	            File savefile = new File(strDirPath);		        if (!savefile.getParentFile().exists())		        {		            savefile.getParentFile().mkdirs();						}	            OutputStream out = new FileOutputStream(strDirPath);  	            out.write(b);  	            out.flush();  	            out.close();  			} catch (Exception e) {  		        e.printStackTrace();  		    }

转载于:https://my.oschina.net/u/2258281/blog/1558721

你可能感兴趣的文章
数据指标/表现度量系统(Performance Measurement System)综述
查看>>
GitHub宣布推出Electron 1.0和Devtron,并将提供无限制的私有代码库
查看>>
论模式在领域驱动设计中的重要性
查看>>
有关GitHub仓库分支的几个问题
查看>>
EAServer 6.1 .NET Client Support
查看>>
锐捷交换机密码恢复(1)
查看>>
Method Swizzling对Method的要求
查看>>
佛祖保佑,永不宕机
查看>>
四、配置开机自动启动Nginx + PHP【LNMP安装 】
查看>>
Linux 目录结构及内容详解
查看>>
OCP读书笔记(24) - 题库(ExamD)
查看>>
.net excel利用NPOI导入oracle
查看>>
$_SERVER['SCRIPT_FLENAME']与__FILE__
查看>>
hive基本操作与应用
查看>>
html5纲要,细谈HTML 5新增的元素
查看>>
Android应用集成支付宝接口的简化
查看>>
[分享]Ubuntu12.04安装基础教程(图文)
查看>>
django 目录结构修改
查看>>
win8 关闭防火墙
查看>>
CSS——(2)与标准流盒模型
查看>>