从相册中选择图片上传

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. 用jq编码解码一个url地址

    介绍一下编码解码函数对 1.    escape /unescape   主要用于汉字编码,返回字符的unicode编码值, 对“+”不能编码 2.     encodeURI / decodeURI ...

  2. andriod 资源文件之存取操作

    来自:http://blog.csdn.net/jianghuiquan/article/details/8569235 <?xml version="1.0" encodi ...

  3. github 基础教程推荐

    github现在很火的样子 我在一篇博客上看到说“如果你不知道什么是github,那你就不能说你是个coder,如果你现在看到这篇博客,那么你已经是个coder了”. 我对github一直很好奇,可是 ...

  4. 关于ApplicationPoolIdentity

    一直以来IIS中的网站默认都是以network service在运行,但是从IIS7开始,默认会以ApplicationPoolIdentity运行. 这个账户比较特殊,是一种虚拟帐户,你无法在计算机 ...

  5. Python 常用函数time.strftime()简介

    time.strftime()可以用来获得当前时间,可以将时间格式化为字符串等等   格式命令列在下面:(区分大小写) %a 星期几的简写%A 星期几的全称%b 月分的简写%B 月份的全称%c 标准的 ...

  6. java中使用split分割字符串一个有趣的现象

    最近在项目中,发现了一个bug,充分了展示了自己对java底层的认知有很多的不足和欠缺. 下面有段代码: String str="1#2#3"; String[] strs=str ...

  7. 第k大的数,前k大的数

    1.排序后去出前k个,o(n*log(n))    如果k<log(n),可以考虑直接选择排序,因为只需要执行找到第k个就可以结束 o(n*k) 2.o(nlog(k))快排把数分为了两个部分, ...

  8. jquery treeview

    jquery treeview 插件参数说明 treeview开源地址:https://github.com/jzaefferer/jquery-treeview 1.animated:String ...

  9. OpenGL 学习笔记 01 环境配置

    以下教程仅适用于Mac下的Xcode编程环境!其他的我也不会搞. 推荐教程:opengl-tutorial  本项目Github网址       OpenGL太可怕了...必需得把学的记下来,不然绝壁 ...

  10. Hive remote install mode (mysql) step by step

    Prerequisite: Hadoop cluster is avalable; Mysql installed on namenode; Step1: download the latest hi ...