从相册中选择图片上传

function uploadFromAlbum(type) {
var dirtype = "";
if ("pick_store_license" == type || "pick_id_pic" == type) {
dirtype = "auth";
}
if ("pick_store_pic" == type) {
dirtype = "store";
}
plus.gallery.pick(
function (path) {
//选择成功
$("#heisebg").removeClass("heisebg").addClass("heisebghid");
$("#waitingupload").removeClass("heisebghid").addClass("heisebg");
var task = plus.uploader.createUpload(configManager.RequstUrl + "api/common/upload",
{ method: "POST", blocksize: 102400, priority: 100 },
function (upload, status) {
// 上传完成
if (status == 200) {
var data = JSON.parse(upload.responseText);
              //显示图片
              ... ...
$("#waitingupload").removeClass("heisebg").addClass("heisebghid");
} else {
console.log("Upload failed: " + status);
} }
);
task.addFile( path, { key: "file" });
task.addData("dir", dirtype);
task.start();
},
function (e) {
console.log(e);
},
{ filter: "image" }
);
}

函数套函数,要分清楚当前这个函数到底有那些参数。拍照上传的方法如下:

//从摄像头中拍照
function uploadFromCamera(type) {
var dirtype = "";
if ("pick_store_license" == type || "pick_id_pic" == type) {
dirtype = "auth";
}
if ("pick_store_pic" == type) {
dirtype = "store";
} var cmr = plus.camera.getCamera(1);
if (null != cmr) {
//拍照
cmr.captureImage(function (p) {
plus.io.resolveLocalFileSystemURL(
p,
function (entry) {
//拍照成功
$("#heisebg").removeClass("heisebg").addClass("heisebghid");
$("#waitingupload").removeClass("heisebghid").addClass("heisebg");
//上传图片
var task = plus.uploader.createUpload(configManager.RequstUrl + "/api/common/upload",
{ method: "POST", blocksize: 102400, priority: 100 },
function (upload, status) {
// 上传完成
if (status == 200) {
var data = JSON.parse(upload.responseText);
                //显示图片
                ... ...
console.log(upload.responseText);
} else {
console.log("Upload failed: " + status);
}
}
);
task.addFile("file://" + entry.fullPath, { key: "file" });
task.addData("dir", dirtype);
task.start(); },
function (e) {
plus.ui.alert(e.message, function () { }, configManager.alerttip, configManager.alertCtip);
}
);
},
function (e) { }, { filename: "_doc/camera/" }); }
else {
plus.ui.alert("没有找到摄像头", function () { }, configManager.alerttip, configManager.alertCtip);
} }

注意这一句task.addFile("file://" + entry.fullPath, { key: "file" }); 前面要加上file://防止在ios下找不到图片路径。

html5中上传图片的更多相关文章

  1. HTML5中的Range对象的研究

    一:Range对象的概念 Range对象代表页面上的一段连续区域,通过Range对象,可以获取或修改页面上的任何区域,可以通过如下创建一个空的Range对象,如下: var  range = docu ...

  2. html5中canvas的使用 获取鼠标点击页面上某点的RGB

    1.html5中的canvas在IE9中可以跑起来.在IE8则跑不起来,这时候就需要一些东西了. 我推荐这种方法,这样显得代码不乱. <!--[if lt IE9]> <script ...

  3. html5中新增的form表单属性

    html5中新增两个表单属性,分别autocomplete和novalidate属性 1.autocomplete属性 该属性用于控制自动完成功能的开启和关闭.可以设置表单或者input元素,有两个属 ...

  4. HTML5 中的 canvas 画布(一)

    ---恢复内容开始--- 在HTML5中新添加的元素,canvas 现在支持 IE9+的版本 注意:HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript ...

  5. HTML5中引入的关键特性

    新特性 描述 accesskey 定义通过键盘访问元素的快捷键 contenteditable 该特性设置为true时,浏览器应该允许用户编辑元素的内容.不指定变化后的内容如何保存 contextme ...

  6. HTML5中与页面显示相关的API

    1.HTML5中与页面显示相关的API 在HTML5中,增加了几个与页面显示相关的API,其中一个是Page Visibility API Page Visibility API  是指当页面变为最小 ...

  7. HTML5 中的新属性autocomplete="off"失效的解决方法(兼容firefox,IE,360)

    因为业务需求,在写一个注册页面的时候,发现浏览器会自动填充此域名下已经保存的账号密码,给用户带来不便.加了HTML5 中的新属性autocomplete="off" ,但是并没有产 ...

  8. HTML5中新添加事件

    HTML5中新添加了很多事件,但是由于他们的兼容问题不是很理想,应用实战性不是太强,所以在这里基本省略,咱们只分享应用广泛兼容不错的事件,日后随着兼容情况提升以后再陆续添加分享.今天为大家介绍的事件主 ...

  9. HTML5中id可以用数字开头,但在css中不能正常使用

    昨晚在看<响应式Web设计:html5和css3实战>时,书中提到“HTML5中的ID指可以用数字开头”.这个还真不知道,于是测试了一下,发现了问题. 在H5描述中是这样说的: 在css样 ...

随机推荐

  1. 安装SQL Server Management Studio Express错误码是29506

    解决方法:1:新建一个记事本,输入msiexec /i path\SQLServer2005_SSMSEE.msi 然后另存为.cmd格式.2:右单击刚刚创建的那个.CMD文件,选择“以管理员身份运行 ...

  2. javascript中静态方法、实例方法、内部方法和原型的一点见解

    1.静态方法的定义 var BaseClass = function() {}; // var BaseClass=new Function(); BaseClass.f1 = function(){ ...

  3. Mybatis学习记录(五)----Mybatis的动态SQL

    1.  什么是动态sql mybatis核心 对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接.组装. 1.1 需求 用户信息综合查询列表和用户信息查询列表总数这两个statemen ...

  4. Engine中执行gp工具返回的要素图层如何获取?

    来自:http://zhihu.esrichina.com.cn/?/question/12087 Engine中执行gp工具返回的[解决办法]:需要用gpUtils.DecodeFeatureLay ...

  5. How to Build Office Developer Tools Projects with TFS Team Build 2012

    Introduction Microsoft Visual Studio 2012 provides a new set of tools for developing apps for Office ...

  6. How to upgrade workflow assembly in MOSS 2007

    This problem generally start when you are having an existing custom workflow and there are instances ...

  7. MySQL全文索引应用简明教程

    本文从以下几个方面介绍下MySQL全文索引的基础知识: MySQL全文索引的几个注意事项 全文索引的语法 几种搜索类型的简介 几种搜索类型的实例 全文索引的几个注意事项 搜索必须在类型为fulltex ...

  8. Centos 7: 打开Samba防火墙端口

    firewall-cmd --permanent --add-port=137/tcp firewall-cmd --permanent --add-port=138/tcp firewall-cmd ...

  9. Ubuntu 14.04下安装JDK8

    本文地址:http://www.cnblogs.com/archimedes/p/ubuntu-jdk8.html,转载请注明源地址. 欢迎关注我的个人博客:www.wuyudong.com, 更多云 ...

  10. 【读书笔记】iOS-装箱

    通常将一个基本类型的数据包装成对象叫做装箱,从对象中提取基本类型的数据叫做取消装箱.有些语言有自动装箱功能,它可以自动包装基本基础类型的数据,也可以自动从包装后的对象中提取基础数据.Objective ...