返回顶部
首页 > 资讯 > 前端开发 > node.js >怎么用HTML5实现拍照上传应用
  • 837
分享到

怎么用HTML5实现拍照上传应用

2024-04-02 19:04:59 837人浏览 安东尼
摘要

这篇文章给大家分享的是有关怎么用HTML5实现拍照上传应用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 在html5规范的支持下,WEBApp在手机上拍照已经成为可能。在下面

这篇文章给大家分享的是有关怎么用HTML5实现拍照上传应用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

html5规范的支持下,WEBApp在手机上拍照已经成为可能。在下面,我将讲解Web App如何用手机进行拍照,显示在页面上并上传到服务器

1、 视频流

HTML5 The Media Capture api提供了对摄像头的可编程访问,用户可以直接用getUserMedia获得摄像头提供的视频流。我们需要做的是添加一个HTML5的Video标签,并将从摄像头获得视频作为这个标签的输入来源(请注意目前仅Chrome和Opera支持getUserMedia)。

XML/HTML Code复制内容到剪贴板

<videoidvideoid=”video”autoplay=”"></video>  

<script>  

varvideo_element=document.getElementById(&lsquo;video&rsquo;);  

if(navigator.getUserMedia){//operashoulduseopera.getUserMedianow  

navigator.getUserMedia(&lsquo;video&rsquo;,success,error);  

}  

functionsuccess(stream){  

video_element.src=stream;  

}  

</script>  

视频流

2、 拍照

拍照功能,我们采用HTML5的canvas实时捕获Video标签的内容,Video元素能作为Canvas图像的输入,这一点很棒。主要代码如下:

javascript Code复制内容到剪贴板

var canvas=document.createElement(&lsquo;canvas&rsquo;);    

var ctx=canvas.getContext(&rsquo;2d&rsquo;);    

var cw=vw;    

var ch=vh;    

ctx.fillStyle=”#ffffff”;    

ctx.fillRect(0,0,cw,ch);    

ctx.drawImage(video_element,0,0,vvw,vvh,0,0,vw,vh);    

document.body.append(canvas);    

3、 图片获取

下面我们要从Canvas获取图片数据,其核心思路是用canvas的toDataURL将Canvas的数据转换为base64位编码的PNG图像,类似于“data:image/png;base64,xxxxx”的格式。

JavaScript Code复制内容到剪贴板

var imgData=canvas.toDataURL(“image/png”);  

因为真正图像数据是base64编码逗号之后的部分,所以我们实际服务器处理的图像数据应该是这部分,我们可以用两种办法来获取。

第一种:是在前端截取22位以后的字符串作为图像数据,例如:

JavaScript Code复制内容到剪贴板

var data=imgData.substr(22);  

如果要在上传前获取图片的大小,可以使用:

JavaScript Code复制内容到剪贴板

var length=atob(data).length;//atobdecodesastrinGofdatawhichhasbeenencodedusingbase-64encoding  

第二种:是在后端获取传输的数据后用后台语言截取22位以后的字符串。例如PHP里:

JavaScript Code复制内容到剪贴板

$image=base64_decode(str_replace(&lsquo;data:image/jpeg;base64,&rsquo;,”,$data);  

4、 图片上传

在前端可以使用ajax将上面获得的图片数据上传到后台脚本。例如使用Jquery时:

JavaScript Code复制内容到剪贴板

$.post(&lsquo;upload.php&rsquo;,{&lsquo;data&rsquo;:data});  

 在后台我们用PHP脚本接收数据并存储为图片。

JavaScript Code复制内容到剪贴板

functionconvert_data($data){  

$image=base64_decode(str_replace(&lsquo;data:image/jpeg;base64,&rsquo;,”,$data);  

save_to_file($image);  

}  

functionsave_to_file($image){  

$fp=fopen($filename,&rsquo;w');  

fwrite($fp,$image);  

fclose($fp);  

}  

请注意,以上的解决方案不仅能用于Web App拍照上传,并且你可以实现把Canvas的输出转换为图片上传的功能。这样你可以使用Canvas为用户提供图片编辑,例如裁剪、上色、涂鸦的画板功能,然后把用户编辑完的图片保存到服务器上。

感谢各位的阅读!关于“怎么用HTML5实现拍照上传应用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 怎么用HTML5实现拍照上传应用

本文链接: https://lsjlt.com/news/89164.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么用HTML5实现拍照上传应用
    这篇文章给大家分享的是有关怎么用HTML5实现拍照上传应用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 在HTML5规范的支持下,WebApp在手机上拍照已经成为可能。在下面...
    99+
    2024-04-02
  • HTML5如何实现微信拍摄上传照片功能
    这篇文章主要介绍HTML5如何实现微信拍摄上传照片功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前端代码$(':file').on('change'...
    99+
    2024-04-02
  • Android4.4 WebAPI实现拍照上传功能
    网上有很多关于拍照上传的实现方法,如果用新版本android去运行有可能会发现根本实现不了。主要原因是android从4.4版本开始通过intent.ACTION_GET_CO...
    99+
    2022-06-06
    webapi Android
  • Electron怎么实现调用外接摄像头并拍照上传
    这篇文章主要介绍了Electron怎么实现调用外接摄像头并拍照上传的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Electron怎么实现调用外接摄像头并拍照上传文章都会有所收获,下面我们一起来看看吧。背景基于E...
    99+
    2023-07-05
  • 如何使用HTML5实现拍照功能
    这篇文章主要介绍“如何使用HTML5实现拍照功能”,在日常操作中,相信很多人在如何使用HTML5实现拍照功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用HTML5实...
    99+
    2024-04-02
  • android 拍照和上传的实现代码
    代码如下:import java.io.ByteArrayOutputStream;   import java.io.File;  ...
    99+
    2022-06-06
    Android
  • vue实现pc端拍照上传功能
    本文实例为大家分享了vue实现pc端拍照上传功能的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html>   <hea...
    99+
    2024-04-02
  • 怎么用HTML5实现调用手机摄像头拍照功能
    本篇内容介绍了“怎么用HTML5实现调用手机摄像头拍照功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • Android应用中拍照后获取照片路径并上传的实例分享
    Activity 中的代码,我只贴出重要的事件部分代码 public void doPhoto(View view) { destoryBimap(); Str...
    99+
    2022-06-06
    Android
  • js如何实现手机拍照上传功能
    这篇文章将为大家详细讲解有关js如何实现手机拍照上传功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在前段时间的项目开发中,用到了拍照上传的地方,后来发现了最为简单的一...
    99+
    2024-04-02
  • Android中怎么实现微信朋友圈拍照上传功能
    Android中怎么实现微信朋友圈拍照上传功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. PhotoPicker的使用这是一个支持选择多张图片,点击图片放大,图片之间左...
    99+
    2023-05-30
  • Electron调用外接摄像头并拍照上传实现详解
    目录背景需求分析实现视频采集MediaDevices.getUserMedia()拍照生成图片上传图片至CDN1. 使用HTMLCanvasElement.toBlob()语法参数2...
    99+
    2023-02-24
    Electron调用摄像头拍照上传 Electron调用外接摄像头
  • HTML5中如何使用Plus实现手机APP拍照或相册选择图片上传功能
    这篇文章给大家分享的是有关HTML5中如何使用Plus实现手机APP拍照或相册选择图片上传功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。利用HTML Plus的Camera、GalleryIO、Storage...
    99+
    2023-06-09
  • 怎么在HTML5中实现拍照和摄像机功能
    本篇文章为大家展示了怎么在HTML5中实现拍照和摄像机功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。拍照HTML5的getUserMedia API为用户提供访问硬件设备媒体(摄像头、视频、音频...
    99+
    2023-06-09
  • HTML5 和小程序如何实现拍照图片旋转、压缩和上传功能
    这篇文章给大家分享的是有关HTML5 和小程序如何实现拍照图片旋转、压缩和上传功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。最近接到一个“发表评论”的需求:用户输入评论并且可以拍照或从相册选择图片上传,即支持...
    99+
    2023-06-09
  • 微信小程序如何调用内置照相机实现拍照及图片上传
    这篇文章主要介绍了微信小程序如何调用内置照相机实现拍照及图片上传的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序如何调用内置照相机实现拍照及图片上传文章都会有所收获,下面我们一起来看看吧。  1.ind...
    99+
    2023-06-26
  • 如何使用HTML5实现超酷摄像头拍照功能
    这篇文章给大家分享的是有关如何使用HTML5实现超酷摄像头拍照功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。WebRTC可能是明年最受关注的HTML5标准了,Mozilla为...
    99+
    2024-04-02
  • Android使用Retrofit仿微信多张图片拍照上传
    Android 仿照微信发说说,既能实现拍照,选图库,多图案上传,使用Retrofit技术。 使用方法:详见//www.jb51.net/article/103009.htm ...
    99+
    2022-06-06
    图片 retrofit Android
  • Android中怎么实现拍照功能
    这期内容当中小编将会给大家带来有关Android中怎么实现拍照功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。解析:1)判断是否有摄像头checkCameraHardware(this) 2)获得相机c...
    99+
    2023-05-30
    android
  • 利用Java+OpenCV实现拍照功能
    由于项目需要拍照,看了好多的资料不是C语言的就是python,开始用的JavaCv但是有好多问题,所以改成了OpenCv 只能硬着上了,查了好的网上的资料,终于找到了 依赖jar包:...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作