以前,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));
}
}
};

web app上传图片的更多相关文章

  1. html5文章 -- HTML5开发实例-网易微博手机Web App开发过程

    HTML5在国内外越来越受到互联网开发团队的青睐.国外,谷歌兴致勃勃地开发Chrome Web Store,微软发布了支持使用HTML5技术开发的“Irish Spring”主题网站,诺基亚斥巨资购得 ...

  2. Ionic app 上传图片之webApi接口

    App上传图片对应的webApi服务端是怎么处理的呢? using System; using System.Collections.Generic; using System.Diagnostics ...

  3. JRE System Library、Referenced Libraries、Web App Libraries的含义

    JRE System Library.Referenced Libraries.Web App Libraries 这三个都是jar包的存放集合. JRE System Library:指Java S ...

  4. 详解Python Streamlit框架,用于构建精美数据可视化web app,练习做个垃圾分类app

    今天详解一个 Python 库 Streamlit,它可以为机器学习和数据分析构建 web app.它的优势是入门容易.纯 Python 编码.开发效率高.UI精美. 上图是用 Streamlit 构 ...

  5. Azure 部署 Asp.NET Core Web App

    在云计算大行其道的时代,当你在部署一个网站时,第一选择肯定是各式各样的云端服务.那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core 的网站呢?Azure 的 Web A ...

  6. 如何用Azure Web App Services接入微信公众号

    注:本文提到的代码示例下载地址>如何用Azure Web App Services接入微信公众号 如何用Azure Web App Services接入微信公众号 简介 此示例演示如何创建Azu ...

  7. .net core 源码解析-web app是如何启动并接收处理请求(二) kestrel的启动

    上篇讲到.net core web app是如何启动并接受请求的,下面接着探索kestrel server是如何完成此任务的. 1.kestrel server的入口KestrelServer.Sta ...

  8. .net core 源码解析-web app是如何启动并接收处理请求

    最近.net core 1.1也发布了,蹒跚学步的小孩又长高了一些,园子里大家也都非常积极的在学习,闲来无事,扒拔源码,涨涨见识. 先来见识一下web站点是如何启动的,如何接受请求,.net core ...

  9. web app开发技巧总结 (share)

    (转自http://hi.baidu.com/kuntakinte/item/ca92d6e5edae9fc0bbf37d08) 自Iphone和Android这两个牛逼的手机操作系统发布以来,在互联 ...

随机推荐

  1. PHP文件上传相关

    1.必须通过POST提交 2. 声明 enctype="multipart/form-data"   $_FILES {[pic]=array ( [name]=>     ...

  2. 与你相遇好幸运,Mongodb客户端&BUGS

    > Robomongo https://robomongo.org > 日常使用频率最高的客户端 存在BUG: 在 db.getCollection('xzq').find({" ...

  3. ajax 中一些常用的操作

    $.post.$.get是一些简单的方法,如果要处理复杂的逻辑,还是需要用到jQuery.ajax() 一.$.ajax的一般格式$.ajax({ type: 'POST', url: url , d ...

  4. 注解@RequestMapping 的使用

    1首先@RequestMapping 中的值,我们说请求方法l路径,请求url我们都知道怎么请求了,在第一节helloworld中, 我们先说我们先建一个类,RequestMappingTest 方法 ...

  5. tangram2.6(XE2)\framework框架加载包异常 调试的地方

    添加以下的项目到项目组中, \tangram2.6(XE2)\framework\Core\Tangram_Core.dpk 调试此包的SysModuleMgr.pas的函数,本人还没有测试 func ...

  6. 每日一问:面试结束时面试官问"你有什么问题需要问我呢",该如何回答?

    面试结束时面试官问"你有什么问题需要问我呢",该如何回答?

  7. Shell 编程基础之 && 与 ||

    一.引言 Shell 在执行某个命令的时候,会返回一个返回值,该返回值保存在 shell 变量 $? 中.当 $? == 0 时,表示执行成功:当 $? == 1 时,表示执行失败.有时候,下一条命令 ...

  8. ggplot2包的说明文档[分享]

  9. Some Link: Java Reflection

    http://docs.oracle.com/javase/tutorial/reflect/index.html https://bugs.openjdk.java.net/browse/JDK-4 ...

  10. HTML 5 拖放(Drag 和drop)

    浏览器支持 Internet Explorer 9.Firefox.Opera 12.Chrome 以及 Safari 5. 1.把标签 draggable 属性设置为 true. 2.向标签添加on ...