| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import UploadFile from "@/utils/upliadFile";
- import store from "@/store";
- import { base_img_url2 } from "@/api/config";
- import wx from "weixin-js-sdk";
- const miniUserId = store.state.home.miniUserId;
- const uploadFileObj = new UploadFile();
- function base64ToBlob(base64, mime = 'image/png') {
- const byteCharacters = window.atob(base64.split(',')[1]); // 去掉 Base64 前缀
- const byteNumbers = new Array(byteCharacters.length).fill(0).map((_, i) => byteCharacters.charCodeAt(i));
- const byteArray = new Uint8Array(byteNumbers);
- return new Blob([byteArray], { type: mime });
- }
- function base64ToFile(base64, filename = 'image.png') {
- const blob = base64ToBlob(base64);
- return new File([blob], filename, { type: blob.type });
- }
- async function uploadBase64(base64,isToPage = true) {
- return new Promise((resolve, reject) => {
- // 转为 File 对象
- const file = base64ToFile(base64, 'upload.png');
- let ext = 'png';
- let key = `birdseye-look-mini/${miniUserId}/${new Date().getTime()}.${ext}`;
- uploadFileObj.put(key, file).then((resFilename) => {
- let imgUrl = base_img_url2 + resFilename
- console.log('resFilename', base_img_url2 + resFilename);
- if(isToPage){
- wx.miniProgram.navigateTo({
- url: `/pages/subPages/share_img/index?imgUrl=${imgUrl}`,
- });
- }else{
- if(resFilename){
- resolve(imgUrl);
- }else{
- reject('失败')
- }
- }
- });
- })
- }
- export { uploadBase64 };
|