博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTML5调用手机摄像机、相册功能
阅读量:6207 次
发布时间:2019-06-21

本文共 714 字,大约阅读时间需要 2 分钟。

在项目中使用到antd-mobile的组件做图片上传,使用起来还是很方便。

因某个业务场景要求上传的照片只能用拍照,不能从相册中选择已有照片,ImagePicker不支持此功能,所以需要对ImagePicker组件稍微改造下。

一、根据已有知识和资料搜索,确认<input type="file">是支持直接打开相机的,关键词是capture

  1. w3c的介绍:
  2. demo1:
  3. demo2:

二、分析节点元素和源码

发现ImagePicker组件是利用的input,但是缺少capture。定位ImagePicker的源码(我使用的antd-mobile版本是2.1.10),主要关注点击上传时的操作。

+ 图表代表一个input节点,点击下面的<div class="am-flexbox-item">...</div>发现input节点是动态生成的,结合源码可以证实这一点。

ImagePicker目前(2019-02-21 09:49:07)不支持capture属性,所以改造方案就是对input改造。下面是React项目中的解决方案,即手动添加capture

componentDidMount () {    const inputs = document.getElementsByTagName('input');    for (let index = 0; index < inputs.length; index++) {      const element = inputs[index];      element.setAttribute("capture", true);     }  }复制代码

转载地址:http://yokja.baihongyu.com/

你可能感兴趣的文章
centos 6.5 Git搭建
查看>>
【Python之旅】第五篇(二):Python Socket单线程+阻塞模式
查看>>
使用WebServices调用网上的天气手机服务
查看>>
【整理】MySQL 之 日志
查看>>
【欢迎反馈建议】淘宝造物节意犹未尽的你,快来看看阿里四位专家畅聊背后的VR技术!...
查看>>
暴走漫画基于阿里云的全面容器化架构实践
查看>>
参数的排列组合3
查看>>
我与mongodb 二三事(5)
查看>>
使用VS快速将类方法封装成Web服务
查看>>
herbnate session.createSQLQuery(sql) 和 session.createQuery(sql)使用
查看>>
一个类型转换而引起的三级事件的一些思考
查看>>
sql 2000 分页存储过程
查看>>
程序员的量化交易之路(9)--金融系统概念basis
查看>>
解决CodeMirror编辑器Tab转空格问题
查看>>
PowerDesigner模型设计
查看>>
谁会是 Zabbix 和 Nagios 的继任者?
查看>>
软件事务内存导论(六)配置Akka事务
查看>>
【DB2学习】查看一个数据的表空间详情
查看>>
【IOS基础知识】CGRectInset、CGRectOffset、frame、bounds对比整理
查看>>
两个线程按特定时间顺序交替执行
查看>>