A-A+
H5+JQUERY实现图片上传实时预览
要做一个正反面的图片时时上传预览的功能,THINKPHP的后台逻辑代码都已经写好了,只差一个H5+jquery实时预览的代码了,平时写JS的代码比较少,所以只能从网上摘抄了,下面的代码是一个独立的H5+jquery实时图片上传显示,如果要上传身份证正反面两张图片的话,直接把JQ代码重新复制一份逻辑就可以了,代码如下:
- <html>
- <head>
- <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
- </head>
- <body>
- <input id="fileupload" type="file" multiple="multiple" />
- <hr />
- <b>Live Preview</b>
- <br />
- <br />
- <div id="dvPreview">
- </div>
- <br />
- <hr />
- <script language="javascript" type="text/javascript">
- $(function () {
- $("#fileupload").change(function () {
- if (typeof (FileReader) != "undefined") {
- var dvPreview = $("#dvPreview");
- dvPreview.html("");
- var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.jpg|.jpeg|.gif|.png|.bmp)$/;
- $($(this)[0].files).each(function () {
- var file = $(this);
- if (regex.test(file[0].name.toLowerCase())) {
- var reader = new FileReader();
- reader.onload = function (e) {
- var img = $("<img />");
- img.attr("style", "height:100px;width: 100px");
- img.attr("src", e.target.result);
- dvPreview.append(img);
- }
- reader.readAsDataURL(file[0]);
- } else {
- alert(file[0].name + " is not a valid image file.");
- dvPreview.html("");
- return false;
- }
- });
- } else {
- alert("This browser does not support HTML5 FileReader.");
- }
- });
- });
- </script>
- </body>
- </html>
jquery.min.js 的文件一定要有,可以下载到自己的本地,也可以直接使用JQ远程代码,一定要保证存在即可,测试这段代码可以保存H5页面,然后普通浏览器测试即可。