vue中调用手机相机拍照功能

<template>
    <div>
        <input type="file" accept="image/*" capture="camera" @change="handleFileChange" style="display:none"
            ref="cameraInput" />
          <div v-if="imageUrl">
            <img width="200" :src="imageUrl" alt="Captured Image" />
          </div>
          <el-button type="primary" @click="triggerCamera">拍照</el-button>
    </div>
</template>
import axios from 'axios'
export default{
    name:'XXX',
    data(){
        return {
            imageUrl:''
        }
    },
    methods: {
        triggerCamera() {
          this.$refs.cameraInput.click();
        },
        // 处理拍照后的图片
        handleFileChange(event) {
          const file = event.target.files[0];
          if (file) {
            const formData = new FormData(); 
            formData.append('file', file);
            // 使用FileReader读取图片数据
            const reader = new FileReader();
            reader.onload = (e) => {
               this.imageUrl = e.target.result; // 图片数据作为base64字符串
               axios.post('文件上传地址',formData)
              .then(res => {
                 //上伟成功
              })
            };
            reader.readAsDataURL(file); // 读取文件为Data URL
          }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值