学习bug

2025.8.6,在发帖功能中,一直出现上传的图片页面无法上传的问题,bucket中有上传的图片,但是数据库中的image_url一直为空,复制up的源码也没有用

​记录一下我的解决办法

​export const uploadFile = async (image_key: string, file: ImageResult) => {

try {

const res = await storage.createFile('689318ae002bdaf1ece1', image_key, {

name: image_key,

type: 'image/jpeg',

size: file.height * file.width,

uri: file.uri,

});

const fileId = res.$id;

// 手动拼接图片 URL

const endpoint = 'https://cloud.appwrite.io/v1';

const projectId = 'XXX';

const bucketId = 'XXX';

const fileUrl = `{endpoint}/storage/buckets/{bucketId}/files/{fileId}/view?project={projectId}&mode=admin`;

return {

fileId,

fileUrl,

};

} catch (error) {

console.log('uploadFile error:', error);

throw error;

}

};

​const pickImage = async () => {

try {

let result = await ImagePicker.launchImageLibraryAsync({

mediaTypes: ["images", "videos"],

allowsEditing: true,

aspect: [4, 3],

quality: 1,

});

if (!result.canceled) {

const compressedImage = await compressImage(result.assets[0].uri);

if (compressedImage) {

if (!compressedImage) {

Alert.alert("图片压缩失败");

return;

}

const { fileId, fileUrl } = await uploadFile(

ID.unique(),

compressedImage

);

if (!fileUrl) {

Alert.alert("图片上传失败");

return;

}

setImage(fileUrl);

}

}

} catch (error) {

console.log(error);

Alert.alert("图片选择失败");

}

};

​希望能帮助后来的朋友😘👌

相关推荐
用户251916242711几秒前
Canvas之贪吃蛇
前端·javascript·canvas
乐予吕17 分钟前
别再乱用箭头函数了!JavaScript 三种函数写法的终极指南
前端·javascript·代码规范
海天胜景23 分钟前
vue3 el-select 加载内容后 触发事件
前端·javascript·vue.js
小高00738 分钟前
🚀Promise 全家桶:原理、实现、API、实战,一篇搞定
前端·javascript·面试
蒋星熠41 分钟前
QT项目 -仿QQ音乐的音乐播放器(第五节)
开发语言·qt
码间舞41 分钟前
IndexDB适用于什么场景?如何使用IndexDB?
前端·javascript·数据库
learning_tom42 分钟前
微信小程序功能实现:页面导航与跳转
前端·javascript·apache
叫我:松哥1 小时前
基于Python的实习僧招聘数据采集与可视化分析,使用matplotlib进行可视化
开发语言·数据库·python·课程设计·matplotlib·文本挖掘
澡点睡觉1 小时前
golang的面向对象编程,struct的使用
开发语言·爬虫·golang