原因简述:cloudPath属性写的不对

基于uniCloud云开发,实现上传图片功能,发现能正常上传,但是上传的图片会是这种格式,没有后缀名: https://vkceyugu.cdn.bspapp.com/VKCEYUGU-7da443bc-353a-4224-ab27-b98917aa6c66/72ee0c27-1bbd-4d5e-8512-4e8f055e95cf.
经过研究发现, uniCloud.uploadFile 这个api会截取 cloudPath 属性的 . 后面的值作为上传文件的后缀名
重点看下方代码处 cloudPath 的注释即可

  /** 上传图片 */
    uploadImg() {
      // 选择图片,默认不设置count属性的话最多9张
      uni.chooseImage({
        success: res => {
          // 通过遍历调用uniCloud.uploadFile来批量上传
          for (let i = 0; i < res.tempFilePaths.length; i++) {
            uni.showLoading({
              title: "上传中..."
            const filePath = res.tempFilePaths[i] // 选择图片的临时路径
            const name = res.tempFiles[i].name // 选择图片的名称.后缀名
            uniCloud.uploadFile({
              filePath, // 必传,要上传图片的临时路径
              // cloudPath: Date.now() + "", // 我最开始这样写的,这样写就会导致没有后缀名
              // cloudPath: Date.now() + ".png", // 这样写所有上传的图片后缀名都会变成png
              cloudPath: Date.now() + "-" + name, // 这样写上传的图片后缀名就是原本的后缀名(也就是我最终想实现的效果)
              success: res => {
                console.log(res)
                this.addImage(res)
              fail(err) {
                console.log(err)
              complete() {
                uni.hideLoading()
				
uniapp H5 上传图片没有后缀名uniapp中h5通过uni.chooseimage直接上传图片没有图片扩展名,uni.uploadFile在H5下上传blob文件链接的时候无法获取文件后缀扩展名,解决uni.uploadFile上传图片丢失后缀名的问题,完美解决 uniapp 发布h5上传头像base64图片,ufilename没有后缀名,H5模式下上传的文件,服务端拿不到后缀名怎么办,uni.canvasToTempFilePath H5 生成的文件没有后缀名uniapp H5上传图片后调用u
uniapp 官方模板自己改小了一下,支持web网页和appuniapp 官方模板自己改小了一下,支持web网页和appuniapp 官方模板自己改小了一下,支持web网页和appuniapp 官方模板自己改小了一下,支持web网页和appuniapp 官方模板自己改小了一下,支持web网页和appuniapp 官方模板自己改小了一下,支持web网页和appuniapp 官方模板自己改小了一下,支持web网页和appuniapp 官方模板自己改小了一下,支持web网页和appuniapp 官方模板自己改小了一下,支持web网页和appuniapp 官方模板自己改小了一下,支持web网页和appuniapp 官方模板自己改小了一下,支持web网页和appuniapp 官方模板自己改小了一下,支持web网页和appuniapp 官方模板自己改小了一下,支持web网页和appuniapp 官方模板自己改小了一下,支持web网页和appuniapp 官方模板自己改小了一下,支持web网页和appuniapp 官方模板自己改小了一下,支持web网页和appunia
const db = uniCloud.database() exports.main = async (event, context) => { const collection = db.collection('tableImages') //云数据库里的表名 ,记录上传图片到云存储后返回的fileID const res = await collection.add(event) //event为客户端上传的参数...
使用await和async无法解决uniapp中的回调函数地狱问题,因为uni.request并不返回一个 Promise。通常情况下,我们期望await能够等待一个 Promise 或者其它类似 Promise 的对象,然后继续执行下面的代码,但uni.request的 success 回调不符合这个预期 改成用then来接收请求响应的结果而不是uni.request中的success 如果不传入 success、fail、complete 等 callback 参数,将以 Promise 返回数据
uniCloud.uploadFile 是一个用于将文件上传到云存储的函数。它是由 CSDN 开发的,用于与 uniCloud 云开发平台进行集成。通过调用该函数,你可以将本地文件上传到云存储的指定位置。 使用 uniCloud.uploadFile 函数需要传入以下参数: - cloudPath:文件在云存储中的路径,例如 'images/myImage.png'。 - filePath:本地文件的路径,例如 '/User/Documents/myImage.png'。 示例代码如下: ```javascript const result = await uniCloud.uploadFile({ cloudPath: 'images/myImage.png', filePath: '/User/Documents/myImage.png', 注意:uniCloud.uploadFile 函数可能还需要其他参数,具体使用方法请参考相关文档或开发者指南。