Quasar 上传头像

2023-05-12  本文已影响0人  alue

Quasar框架最大的价值是能够低成本的开发跨平台应用。
例如,一个常见的上传图片的需求。在web中,一般就是就是打开本地文件路径;而在手机端,则要打开摄像头拍照或者从照片库中上传图片。

Quasar 则集成了 capacitor 插件,开发者使用相同的函数,插件会根据平台的不同,自动完成相应的功能。在网页版时,下述代码会直接打开本地文件浏览器,在手机端,则会调用摄像头和照片库。

import { Camera, CameraResultType } from '@capacitor/camera';
async function captureImage() {  
    const image = await Camera.getPhoto({  
    quality: 90,  
    allowEditing: true,  
    resultType: CameraResultType.Base64,  
    });  
      
    if (!image.base64String) return;  
      
    const base64Data = image.base64String;  
    // 将照片转换为 Blob 对象  
    const byteCharacters = atob(base64Data);  
    const byteNumbers = new Array(byteCharacters.length);  
      
    for (let i = 0; i < byteCharacters.length; i++) {  
    byteNumbers[i] = byteCharacters.charCodeAt(i);  
    }  
      
    const byteArray = new Uint8Array(byteNumbers);  
    const blob = new Blob([byteArray], { type: 'image/jpeg' });  
      
    const formData = new FormData();  
    formData.append('file', blob);  
      
    const { data } = await request.put<string>(url.avatar, formData);  

}

上一篇 下一篇

猜你喜欢

热点阅读