h5上传图片及预览

2016-04-22

0

第一次做图片上传,记录一些问题。

1,图片的base64编码就是可以将一副图片数据编码成一串字符串,使用该字符串代替图像地址。而网页上的每一个图片,都是需要消耗一个http请求下载而来的,使用base64就不用请求http。

2,上传图片:1

3,图片转base64(readAsDataURL方法用于读取指定Blob或File的内容。当读操作完成,readyState变为DONE, loadend被触发,此时result属性包含数据:URL以base64编码的字符串表示文件的数据):1 function picUpload() { 2 var preview = document.querySelector('img'); 3 var file = document.querySelector('input[type=file]').files[0]; 4 var reader = new FileReader(); 5 reader.onloadend = function () { 6 preview.src = reader.result; 7 } 8 if (file) { 9 reader.readAsDataURL(file);10 } else {11 preview.src = "";12 }13 }

4,压缩图片并转base64(通过canvas把图片进行大小压缩):1 function picUpload(){ 2 var me=this; 3 var img = new Image(); 4 $('#up').on('change',function(){ 5 var ViewWidth=$(this).width(); 6 var ViewHeight=$(this).height(); 7 var file = this.files[0]; 8 var URL = URL || webkitURL; 9 img.src='/images/loading.gif' data-original=URL.createObjectURL(file);10 img.onload = function(){11 var imgMe=this,12 imgWidth=0,13 imgHeight= 0,14 w = imgMe.width,15 h = imgMe.height,16 scale1 = w/ViewWidth,17 scale2 = h/ViewHeight;18 imgWidth=parseInt(Math.floor(w/scale1));19 imgHeight=parseInt(Math.floor(h/scale2));20 var canvas = document.createElement('canvas');21 var img = document.createElement('img');22 $('#ImgPr').html(img); 23 var ctx = canvas.getContext('2d');24 canvas.width = ViewWidth;25 canvas.height = ViewHeight;26 ctx.drawImage(imgMe,0,0,imgWidth,imgHeight);27 me.src='/images/loading.gif' data-original=canvas.toDataURL('image/jpeg');28 $(img).prop("src",me.src);29 };30 });31 };

5,$.ajax()方法里的data如果是字符串则不能用大括号括起来,这样在有某些手机上会报错。

0

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

h5页面上传图片java_[Java教程]h5上传图片及预览_星空网相关推荐

  1. java美图秀秀_[Java教程]简易版美图秀秀_星空网

    简易版美图秀秀 2016-10-30 0 简易板美图秀秀灰度 黑白 底片 模糊 马赛克 简单的实现了 灰度,黑白,底片,模糊,马赛克(代码比较简单,通过canvas实现的) 感觉挺有意思的,上面解释很 ...

  2. java swing 悬浮_[Java教程]JAVA Swing窗口在桌面上浮动_星空网

    JAVA Swing窗口在桌面上浮动 2012-02-15 0 1 class Util { 2 private Toolkit tool; 3 private int width; 4 privat ...

  3. 西安电子科技大学java答案_第3章 数 组_西安电子科技大学:JAVA语言_ppt_大学课件预览_高等教育资讯网...

    第 3章 数组 第 3章 数 组 3.1 一维数组 3.2 二维数组 第 3章 数组 3.1 一 维 数 组 一维数组是最简单的数组, 在 Java中, 数组是作为 数组类的一个实例来处理的, 故可以 ...

  4. java 微信 百度地图_[Java教程]H5微信通过百度地图API实现导航方式二

    [Java教程]H5微信通过百度地图API实现导航方式二 0 2017-08-01 23:53:20 要有服务器才行哦 body, html {width: 100%;height: 100%;mar ...

  5. java 浏览器访问图片不显示_[Java教程]重新上传图片后 地址不变 浏览器加载不到的问题...

    [Java教程]重新上传图片后 地址不变 浏览器加载不到的问题 0 2016-05-27 07:00:50 做项目的时候遇到一个问题: 上传文件以后,相同的地址,第一次加载没有问题,当你操作次数过快, ...

  6. 基于asp.net + easyui框架,js实现上传图片之前判断图片格式,同时实现预览,兼容各种浏览器+下载...

    2019独角兽企业重金招聘Python工程师标准>>> 最近在做图片上传的一个前台页面,上传图片功能虽然很简单,但是需要我们学习的地方很多.在上传图片之前验证图片的格式,并同时实现预 ...

  7. jquery实现上传图片及图片大小验证、图片预览效果代码

    jquery实现上传图片及图片大小验证.图片预览效果代码 jquery实现上传图片及图片大小验证.图片预览效果代码 上传图片验证 */ function submit_upload_picture() ...

  8. Android Camera2 教程 · 第三章 · 预览

    Android Camera2 教程 · 第三章 · 预览 DarylGo关注 Android Camera 上一章<Camera2 开启相机>我们学习了如何开启和关闭相机,接下来我们来学 ...

  9. Java 实现word pdf在线预览

    Java 实现word pdf在线预览 最近项目有这个需求,查找了一些资料,在这整理一下. 首先,pdf的文件,浏览器本身支持预览,不需要做什么处理. controller: 简单说下思路:就是利用i ...

最新文章

  1. Totem-DesignNet处理器插件开发方法
  2. [云炬创业基础笔记] 第四章测试5
  3. mysql运用与实践_MySQL开发与实践 PDF 下载
  4. c语言编程时碰到取整去不了_碰到编程墙时如何解开
  5. 好947 Mybatis 配置resultMap 带參数查询Map 注意selectOne数据库返回结果一条数据库 否则会报错...
  6. 从“做什么”到“怎么做”,说说一只蚊子
  7. bert性能优化之——用另一种方式整合多头注意力
  8. node-mysql_Nodejs与MySQL交互(felixge/node-mysql)
  9. python怎么输出键值对_python 获取字典键值对的实现
  10. ArcGIS:土地利用变化模式图绘制,土地利用转移矩阵
  11. 全球芯片短缺可能很快变成供过于求的危机
  12. 远程桌面用户输入法的配置
  13. 经历≠经验,码农如何工作10年依然是菜鸟?
  14. 微信公众号服务器配置token验证失败
  15. 一个经典机器学习案例——良/恶性乳腺癌肿瘤预测
  16. FPGA动态数码管应用——60S计数
  17. 全球与中国不锈钢无密封泵市场现状及未来发展趋势(2022)
  18. 二进制修改植物大战僵尸
  19. 谷歌相中的怪咖:Magic Leap创始人有何不同
  20. cmake(二十七)Cmake中target再理解

热门文章

  1. 美标C70600镍白铜无缝管 锻件C70600与其他美标白铜性能对比
  2. PC端微信视频显示绿色人影解决方法
  3. 利用libqrencode生成二维码并保持成bmp图片
  4. 如何在Word中跳过编号列表中的编号
  5. 三国志战略版:王元姬能否拯救结盟孙尚香?
  6. P2P僵尸网络-家族类别
  7. 前端js遍历json对象方法
  8. AMD CPU Ryzen R7 2700X 安装 Ubuntu18.04 + AMD RX580 显卡驱动
  9. XS2184 以太网供电 PSE 控制器 四通道 兼容 IEEE 802.3at/af
  10. C语言sscanf()正则表达式注意及截取字符串 提取数字 转16进制字节数组 超简单