分享一个H5上传本地图片以及预览功能的图文实例

零下一度
Lepaskan: 2017-05-09 10:59:52
asal
2753 orang telah melayarinya

这篇文章主要为大家详细介绍了H5上传地图片并预览的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

最近工作中需要H5上传显示图片的功能,如图:

直接上代码:

html部分

<p class="works-wrap"> 
 <p class="figure-box" id="figure_box"></p> 
 <p class="add-btn"> 
  <input type="file" id="imgUploadBtn" /> 
  <a href="javascript:void(0);" rel="external nofollow" ><i></i>添加作品</a></p> 
 </p> 
</p>
Salin selepas log masuk

我这边用css将input[type=file] 设置成了opticy:0; 这样可以看起来更像原生的上传。

var addWork = { 
 add: function(btn, figure_box) { 
 var figureBox = document.getElementById(figure_box); //获取显示图片的p元素 
 var input = document.getElementById(btn); //获取选择图片的input元素 
 //这边是判断本浏览器是否支持这个API。 
 if (typeof FileReader === &#39;undefined&#39;) { 
  alert("浏览器版本过低,请先更新您的浏览器~"); 
  input.setAttribute(&#39;disabled&#39;, &#39;disabled&#39;); 
 } else { 
  input.addEventListener(&#39;change&#39;, readFile, false); 

 //如果支持就监听改变事件,一旦改变了就运行readFile函数。 
 } 
 
 function readFile() { 
  var file = this.files[0]; //获取file对象 
  //判断file的类型是不是图片类型。 
  if (!/image\/\w+/.test(file.type)) { 
  alert("请上传一张图片~"); 
  return false; 
  } 
 
  var reader = new FileReader(); //声明一个FileReader实例 
  reader.readAsDataURL(file); //调用readAsDataURL方法来读取选中的图像文件 
  //最后在onload事件中,获取到成功读取的文件内容,并以插入一个img节点的方式显示选中的图片 
  reader.onload = function(e) { 
  // 创建一个新增的图片和文字input 
  var figure = $(&#39;<p class="figure"><p class="figure-hd">我的头部</p><p class="figure-bd"><img src="&#39; + this.result + &#39;" /><textarea placeholder="请输入文字"></textarea></p></p>&#39;); 
  figure.appendTo(figureBox); 
  } 
 } 
 } 
}
Salin selepas log masuk

【相关推荐】

1. 免费h5在线视频教程

2. HTML5 完整版手册

3. php.cn原创html5视频教程

Atas ialah kandungan terperinci 分享一个H5上传本地图片以及预览功能的图文实例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!