4***@qq.com
4***@qq.com
  • 发布:2025-01-15 10:44
  • 更新:2025-01-15 14:37
  • 阅读:110

【报Bug】支付宝云uniCloud.uploadFile返回的只有fileID,不能直接显示

分类:uniCloud

产品分类: uniCloud/支付宝小程序云

示例代码:
await uniCloud.uploadFile({  
                    filePath: this.avatarUrl,  
                    cloudPath: `user/avatar/${this.userInfo?._id}-${Date.now()}.jpg`,  
                    cloudPathAsRealPath: true,  
                    onUploadProgress: function({  
                        loaded,  
                        total  
                    }) {  
                        var percentCompleted = Math.round((loaded * 100) / total);  
                        uni.showLoading({  
                            title: `正在上传中${percentCompleted}%`  
                        })  
                    },  
                    success(res) {  
                        debugger  
                        callback(res.fileID)  
                    },  
                    fail(err) {  
                        uni.showToast({  
                            icon: "error",  
                            title: '上传失败'  
                        })  
                    },  
                    complete() {  
                        uni.hideLoading()  
                    }  
                });  

操作步骤:
await uniCloud.uploadFile({  
                    filePath: this.avatarUrl,  
                    cloudPath: `user/avatar/${this.userInfo?._id}-${Date.now()}.jpg`,  
                    cloudPathAsRealPath: true,  
                    onUploadProgress: function({  
                        loaded,  
                        total  
                    }) {  
                        var percentCompleted = Math.round((loaded * 100) / total);  
                        uni.showLoading({  
                            title: `正在上传中${percentCompleted}%`  
                        })  
                    },  
                    success(res) {  
                        debugger  
                        callback(res.fileID)  
                    },  
                    fail(err) {  
                        uni.showToast({  
                            icon: "error",  
                            title: '上传失败'  
                        })  
                    },  
                    complete() {  
                        uni.hideLoading()  
                    }  
                });  

预期结果:

返回URL

实际结果:

返回有且fileID

bug描述:

阿里云uniCloud.uploadFile返回的只有fileID,image的src不能直接显示这个fileID

为什么就不能和其他云一样正常返回图片信息?非要再getFileInfo,有这个必要吗?不要光为了兼容平台,要站在开发者角度去兼容,搞得哀声一片的,好玩吗?uniCloud下面还没有getFileInfo,去看看文档特么怎么写的!!!!还要商业版的才能用,有毛病简直了真的,一步一个坑~,如果是一个图片列表,难道要每个都要getTempFileURL????

2025-01-15 10:44 负责人:无 分享
已邀请:
DCloud_uniCloud_VK

DCloud_uniCloud_VK

标题是不是写错了,你这个是支付宝云把?

只有阿里云的fileID是可以直接访问的,腾讯云和支付宝云的不能直接访问,需要请求getTempFileURL,如果是公共权限的文件,则请求的getTempFileURL得到的连接地址是永久的(同时支付宝云需要去掉?之后的参数)

因为支付宝云和腾讯云有私有权限文件的功能

  • 4***@qq.com (作者)

    老师,求指导

    1、如果是图片列表,那岂不是要每个图片都要getTempFileURL?

    2、getTempFileURL获取到的地址是有过期时间的,去掉?之后的参数也可以访问,是永久访问吗?那返回这个fileID的作用就是多此一举了吖

    2025-01-15 14:40

  • DCloud_uniCloud_VK

    回复 4***@qq.com: 但是私有权限的文件不能去掉?的,只有公共权限的文件可以去掉?所以并不是多此一举

    2025-01-15 15:55

要回复问题请先登录注册