html5上传图片代码,js上传图片并预览

  html5上传图片代码,js上传图片并预览

  在开发H5应用的时候碰到一个问题,应用只需要一张小的缩略图,而用户用手机上传的确是一张大图,手机摄像机拍的图片好几m,这可要浪费很多流量。

  像我这么为用户着想的程序员,绝对不会让这种事情发生的,于是就有了本文。

  获取图片

  通过文件应用程序接口获取图片。

  var输入=文档。createelement(“input”);input . type= file input . addevent listener( change ,function(){ var file=this。文件[0];});输入。单击();预览图片

  使用createObjectURL()或者字符输入流预览图片

  var img=文档。createelement(“img”);img.src=window .URL.createObjectURL(文件);var img=文档。createelement(“img”);var reader=new FileReader();读者。onload=函数(e){ img。src=e .目标。结果;}reader.readAsDataURL(文件);使用 canvas 做缩略图

  var canvas=文档。createelement(“canvas”);var CTX=画布。获取上下文(“2d”);var MAX _ WIDTH=800 var MAX _ HEIGHT=600 var WIDTH=img . WIDTH var HEIGHT=img . HEIGHT if(宽度高度){如果(宽度最大宽度){高度*=最大宽度/宽度;WIDTH=MAX _ WIDTH } } else { if(HEIGHT MAX _ HEIGHT){ WIDTH *=MAX _ HEIGHT/HEIGHT;HEIGHT=MAX _ HEIGHT } } canvas . width=宽度;canvas.height=高度;ctx.drawImage(img,0,0,width,height);上传缩略图

  画布。to blob(function(blob){ var form=new FormData();form.append(file ,blob);fetch(/api/upload ,{method: POST ,body:form });});结语

  演示:weekcool.com/js/upload.j…

  总结

  以上所述是小编给大家介绍的HTML5实现图片上传预处理功能,希望对大家有所帮助!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: