js实现图片上传即时显示效果

h5实训时实现的一个图片上传即时显示的效果,如下图所示

js实现图片上传即时显示效果


正文

Html代码

<form action="" method="POST" role="form"> <div> <label for="touxiang" >头像上传:</label> <input type="file" /> <div ><img src="https://www.jb51.net/img/up.png" alt=""></div> </div> </form>

js脚本代码

<script> /*显示上传的图片*/ function getObjectURL(file) { var url = null ; if (window.createObjectURL!=undefined) { url = window.createObjectURL(file) ; } else if (window.URL!=undefined) { url = window.URL.createObjectURL(file) ; } else if (window.webkitURL!=undefined) { url = window.webkitURL.createObjectURL(file) ; } return url ; } $('#headPhoto').change(function() { var eImg=$('#imag'); eImg.attr('src', getObjectURL($(this)[0].files[0])); $(this).after(eImg); }); </script>

window.URL.createObjectURL方法
创建一个新的对象URL,该对象URL可以代表某一个指定的File对象或Blob对象.

语法:

objectURL = window.URL.createObjectURL(blob);
blob参数是一个File对象或者Blob对象.
objectURL是生成的对象URL.通过这个URL,可以获取到所指定文件的完整内容.

完整代码如下:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>图片上传</title> <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script> <link href=https://www.jb51.net/article/https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> </head> <body> <form action="" method="POST" role="form"> <div> <label for="touxiang" >头像上传:</label> <input type="file" /> <div ><img src="https://www.jb51.net/img/up.png" alt=""></div> </div> </form> </body> <script> /*显示上传的图片*/ function getObjectURL(file) { var url = null ; if (window.createObjectURL!=undefined) { url = window.createObjectURL(file) ; } else if (window.URL!=undefined) { url = window.URL.createObjectURL(file) ; } else if (window.webkitURL!=undefined) { url = window.webkitURL.createObjectURL(file) ; } return url ; } $('#headPhoto').change(function() { var eImg=$('#imag'); eImg.attr('src', getObjectURL($(this)[0].files[0])); $(this).after(eImg); }); </script> </html>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/a8dd3e823ff3f1529c73fee61172f9cc.html