5***@qq.com
5***@qq.com
  • 发布:2024-07-10 10:52
  • 更新:2024-07-10 12:15
  • 阅读:158

uni-starter模板中的上传头像的代码为什么和uni-file-picker上传差很多

分类:uni-app

为什么uni-starter模板中的上传头像不是用的uni-file-picker呢,我用了模板中的上传,发现和用uni-file-picker对比,有好多问题:

  1. 本来几kb的图片被它上传到云存储后变成了100多kb。
  2. 云存储中的文件名特别长,和原文件名一点关系都没有,还不带后缀名
  3. 图片详情中无法预览图片。这样更没法从云存储中知道是哪张图片了
  4. 存到uni-id-users的avatar_file的url字段的是云存储id,前端获取后还要用uniCloud.getTempFileURL将其转换成临时路径

附件图片中的文件大小超过20kb的都是用uni-starter模板中自带的上传头像功能。其他的是我用uni-file-picker上传的

2024-07-10 10:52 负责人:无 分享
已邀请:
DCloud_UNI_yuhe

DCloud_UNI_yuhe

文件名长是因为使用唯一的uid,避免重名

图片中详情是可以预览的,如果不能预览说明你的图片格式不支持

前端获取不用这么麻烦的,你存数据库里,直接就能获取的。

至于文件上传变大,我这没有发现,方便把你的图片发一下我测试一下吗?

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

    上传了两张测试的图片和测试的结果。

    uni-file-picker的云存储文件名avatar_男_1720582799214_0.png这种也可以避免重名,但是文件名前面加了原文件名,方便在云存储列表中就知道这是来自哪一种图片。668c9eb66eac714e7961f9271720583142497这种文件名就没法判断了。

    从截图上看出使用uni-starter上传后确实是没法预览的,我用的是支付宝云,不清楚是不是只有支付宝云才这样。


    3.8kb的图片用uni-file-picker上传后还是3.8kb,但用uni-starter上传后是73kb。


    uni-starter上传后,数据库中存的是云存储id cloud://env-00jxh176hbcf/668c9eb66eac714e7961f9271720583142497 ,刚刚试了一下,确实这个地址可以直接赋值给imageValue。

    2024-07-10 12:03

DCloud_UNI_yuhe

DCloud_UNI_yuhe

你这种方法avatar_男_1720582799214_0.png,你不用在乎它到底存在哪个文件夹里面,你使用uniCloud取文件通过数据库,不需要从云存储列表里面查看id,然后再输入id,取文件的。

你最后上传的图片那都没有格式,所以不会预览

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

    没有格式是啥意思。测试时只用了avatar_男.png这张图片,是uni-starter里的上传头像,没修改它的代码

    2024-07-10 12:24

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

    我知道是怎么格式了,是uni-starter上传到云存储中的文件名和文件id后面没有后缀名。我自己修改uni-starter的上传的代码,上传时给加上后缀名就行了。这不是属于uni-starter的bug吗。另外,上传后文件体积变大这是确实存在的问题,不知道是不是和选择文件后的裁剪有关。这个以后会修复吗

    2024-07-10 13:34

要回复问题请先登录注册