从相册中选择图片上传

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. WP多语言

    WP多语言.本地化 建立一个Resources文件夹,再建立两个文件夹en-US和zh-CN,(分别表示美国英语.中文中国),每个文件夹下再新建资源文件(.resx),在资源文件中添加示例信息 新建一 ...

  2. 配置windows失败,还原更新,请勿关机

    同事叫我帮忙弄一下电脑,开机,出现"配置Windows Update失败,还原更改,请勿关闭计算机",我从来不更新Windows Update,更新都为成功,第一次遇到失败了,不知 ...

  3. batch_size 和 fetch_size作用

    hibernate抓取策略,,batch-szie在<class>上的应用 batch-size属性,可以批量加载实体类, hbm.xml classes.hbm.xml <?xml ...

  4. 当碰到非ARC写的文件时在ARC环境下运行报错时解决办法

  5. iOS 开发笔记

    1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用) 2,NSDate使用 3,UTTabviewCell 未 ...

  6. javascript之工厂方式定义对象

    每一个函数对象都有一个length属性,表示该函数期望接收的参数个数. <html> <head> <script type="text/javascript& ...

  7. mysql远程链接 方法和flush-hosts

    有时候会发现要用远程链接mysql 1 先要在mysql的host的机器上修改mysql表,最快就是复制一下本地localhost,现在phpmyadmin复制功能什么的很好用,然后把host列中的l ...

  8. InfluxDB Cli中查询结果中time格式显示设置

    InfluxDB Cli中,time默认显示为19位时间戳格式,平时查询起来特不方便,那么,如何设置成为我们人类能看懂的时间格式呢? 方法有二: 1.$ influx -precision rfc33 ...

  9. java Hello 出现以下结果:Bad command or the file name 可能是什么原因

    没有这个命令或文件名 原因可能是没有成功安装jdk或者没有配置好jdk 的环境变量,或者没有编译相应的文件. 2. 出现以下结果:Exception in thread “main” java.lan ...

  10. 删除CListCtrl中具有某一相同数据的所有行

    删除CListCtrl中具有某一相同数据的所有行 ================================== 本文原创,转载请注明出处:http://blog.csdn.net/wlsgzl ...