以前,web app上传图片需要通过cordova插件

后来一个html标签就可以了

<input type="file" class="upload" capture="camera"  accept="image/*" onchange="angular.element(this).scope().uploadhead(this)" />

js里的代码:

        $scope.uploadhead = function(file) {
fileSelected(file);
} function fileSelected(obj) {
if (obj) {
var file = obj.files[0];
if (ImgCompress.checkType(file)) {
ImgCompress.getBase64(file, obj, getBase);
}
}
} function getBase(data) {
$("#myavatar").attr("src", data);
} var ImgCompress = { checkType: function(file) {
if (!file.type.match('image.*')) {
return false;
} else {
return true;
}
}, getBase64: function(file, obj, callBack) {
var _this = this;
_this.readFile(file, obj, callBack);
}, readFile: function(file, obj, callBack) {
var _this = this;
//读取文件
if (window.FileReader) {
var fr = new FileReader();
fr.onloadend = function(e) {
//显示图片
var src = e.target.result; //压缩图片获取base64编码
_this.compress(src, callBack); };
fr.readAsDataURL(file);
} else {
alert("请使用高版本浏览器!");
}
}, compress: function(src, callBack) {
var _this = this;
var img = new Image();
img.src = src;
img.onload = function() {
//生成比例
var width = img.naturalWidth,
height = img.naturalHeight,
scale = width / height;
width = parseInt(750);
height = parseInt(width / scale); //生成canvas
var $canvas = document.createElement("canvas");
var ctx = $canvas.getContext('2d');
$canvas.width = width;
$canvas.height = height; //压缩
ctx.drawImage(img, 0, 0, width, height);
            //这里转成jpeg,也可以不转
callBack($canvas.toDataURL('image/jpeg', 0.5));
}
}
};

最新文章

  1. cookie 和session 的区别详解
  2. 自建yum源及分组安装
  3. SQL Server 2014新特性——事务持久性控制
  4. static,静态关键字的详解
  5. 面向服务的体系结构(SOA)——(4)对于服务的理解
  6. WP8_GestureListener实现列表向下滑动加载新数据
  7. 传说中的WCF(5):数据协定(a)
  8. WPF 中 TreeListView 的使用
  9. Android开发UI之textview实现高亮显示并点击跳转
  10. JS中,如何查询一个对象的所有属性
  11. 单独一个img标签的居中显示
  12. Python爬虫框架Scrapy安装使用步骤
  13. elasticsearch5.5.3 源码学习 idea下源码编译
  14. 【Mysql】常用命令
  15. ZooKeeper是什么
  16. nmap常用参数
  17. 注册登录二合一之bootstrap
  18. Hash Tables
  19. SharePoint 2013 开启访问请求 链接丢失
  20. 【数组】Find Peak Element

热门文章

  1. 跨域调用webapi
  2. 【基础知识】UML基础
  3. [LeetCode] Remove Linked List Elements
  4. 编译原理-词法分析03-DFA
  5. 计算机视觉中的词袋模型(Bow,Bag-of-words)
  6. /usr文件系统
  7. ZeroMQ接口函数之 :zmq_proxy_steerable – 以STOP/RESUME/TERMINATE控制方式开启内置的ZMQ代理
  8. 李洪强iOS经典面试题142-第三方框架及其管理
  9. HDU 1281 二分图
  10. *HDU 1385 最短路 路径