android拍照并上传
‘壹’ androidstudio拍照并分享到qq
1、调用相机拍照。
2、对所拍摄的照片进行漏皮处理,比如压缩图片大小并保存到指定的路径上。
3、通过调塌晌用QQ的API来实现分享功能。拍照分享功能可以在分享前让用户对照片进行编辑,比如添加滤镜或加文字,实现将照返衫差片分享到其他社交媒体平台,比如微信、微博等,通过调用系统分享对话框来实现,这样就可以让用户选择分享到任意应用中。
‘贰’ 图片拍照上传解决方案
微信内置浏览器,和一些主流浏览器支持调用摄像头,但也有很多不支持调用摄像头,仅支持相册。
如果是WebView中,就需要客户端支持了,android和ios的权限也是问题。
formData 简介
简单的说就是:通过formData,我们可以用ajax方式来发送表单数据;以前上传图片是需要用form表单提交的。
我们知道浏览器默认显示的文件上传按钮是很丑的,通常UI都会对上传按钮进行设计。有以下几种方案来写样式。
弊端:
坑
通过ref获取上传按钮。
ref方式
event.target方式
坑:
FileReader 简介
通过 readAsDataURL() ,在读取操作完成后,result属性中将包含一个data:URL格式的字符串以表示所读取文件的内容。
base64字符串
兼容性
我在safari中测试,发现是支持的。
URL.createObjectURL 简介
通过URL.createObjectURL()创建一个URL对象,这个URL对象表示指定的file对象或Blob对象。
兼容性
张鑫旭的文章: HTML5 file API加canvas实现图片前端JS压缩并上传
张鑫旭的文章: 理解DOMString、Document、FormData、Blob、File、ArrayBuffer数据类型
使用Camera API
张鑫旭
‘叁’ android开发怎么实现拍照上传
这个其实是一个很泛的问题
我大致说下我的思路:
用startactivityforresult方法调用系统的摄像头,随便拍张照片,把照片保存在某一目录下面
点击完成后,会在onactivityresult中,根据目录的地址,再把这目录下面的资源得转换为文件,接着通过接口进行提交。提交成功后,后台返回一个URL。
通过这个URL,运用imageload(第三方插件)显示图片