ios不显示拍照和相册选中的图片
vue打包成5+app,ios端。安卓端是可以直接显示的,pc不支持调用5+app属性的
ios不显示拍照和相册选中的图片
配置:5+app中的manifest.json
permissions下面配置系统相册和摄像头
plus或者app-plus下面配置"runmode" : “liberate”,
权限配置:选中权限前面打勾即可
android.hardware.camera
android.hardware.camera.autofocus
android.permission.CAMERA
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.READ_EXTERNAL_STORAGE
"permissions" : {
"Gallery" : {
"description" : "系统相册"
},
"Camera" : {
"description" : "摄像头"
},
},
"plus" : {
"runmode" : "liberate",
},
<template>
<div class="test">
<div @click="imgshow = true">
<!-- 默认头像 -->
<img src="../../assets/x.png" v-show="imgSrc == ''" width="100px" height="100px"/>
<!-- 选中照片和照片,图片显示 -->
<img :src="imgSrc" v-show="imgSrc != ''" />
</div>
<div>
<van-action-sheet
v-model="imgshow"
:actions="actions"
cancel-text="取消"
close-on-click-action
@select="onSelect"
title="选择"
close-icon
/>
</div>
</div>
</template>
<script>
export default {
data() {
return {
imgshow: false,
imgSrc: "", //展示的图片路径
actions: [{ name: "拍照" }, { name: "相册" }],
};
},
methods:{
onSelect(item) {
// 默认情况下点击选项时不会自动收起
// 可以通过 close-on-click-action 属性开启自动收起
this.imgshow = false;
// Toast(item.name);
if (item.name == "拍照") {
console.log("拍照");
// 调用方法
this.captureImage();
} else {
console.log("照片");
this.galleryImg();
}
},
// 拍照方法
captureImage() {
let This = this;
var cmr = plus.camera.getCamera(); //获取摄像头管理对象
var res = cmr.supportedImageResolutions[0]; //字符串数组,摄像头支持的拍照分辨率
var fmt = cmr.supportedImageFormats[0]; //字符串数组,摄像头支持的拍照文件格式
console.log("拍照分辨率: " + res + ", 拍照文件格式: " + fmt);
cmr.captureImage(
function (path) {
//进行拍照操作
// 通过URL参数获取目录对象或文件对象
plus.io.resolveLocalFileSystemURL(path, function (entry) {
var tmpPath = entry.toLocalURL(); //获取目录路径转换为本地路径URL地址
This.imgSrc = tmpPath;
// alert("拍摄成功: " + tmpPath);
});
},
function (error) {
//捕获图像失败回调
console.log("捕获图像失败: " + error.message);
},
{ resolution: res, format: fmt }
);
},
// 相册方法
galleryImg() {
let This = this;
console.log("从相册中选择图片:");
plus.gallery.pick(
function (path) {
//从相册中选择图片
This.imgSrc = path;
// alert(path);
},
function (e) {
//取消选择图片
console.log("取消选择图片");
},
{ filter: "image" }
);
},
},
};
</script>
liberate模式在第一次启动时将解压应用资源(Android平台File API才可正常访问_www目录)
一、MVC MVC模式的意思是,软件可以分成三个部分。 视图(View):用户界面。 控...
我们知道微软将会在今年给Windows10更换全新设计的UI,让Windows10的界面更加整...
一、简介 本设计为硬币图像识别统计装置通过数码相机获取平铺无重叠堆积的硬币的...
git工作区,暂存区,版本库之间的关系: 我们建立的项目文件夹就是工作区,在初...
本文实例讲述了jsp中page指令用法。分享给大家供大家参考。具体如下: 一、JSP ...
首先给扑克牌中每张牌设定一个编号,下面算法实现的编号规则如下: u 红桃按照从...
大家好,今天我们来简单的聊一聊缓存问题。什么是缓存呢?它在系统设计中是在一个...
前言 关于Window,你了解多少呢?看看下面这些问题你都能答上来吗。 如果你遇到这...
从功能测试、性能测试、界面测试、安全性测试、易用性、兼容性测试、震动测试七...
今日国内领先的智能数据服务运营商觉非科技完成近亿元A轮融资。本轮融资由和高资...