文档中心 > 店铺动态卡片-开发指引

上传文件

更新时间:2023/07/07 访问次数:26311

一、功能描述


上传文件。


二、方法名


uploadFile


三、入


字段名

类型

必选

默认值

说明

options.filePath

string

-

文件本地路径

options.fileType

string

-

可选类型为image, video, audio, other

options.fileName

string

-

云存储文件名可带路径, 如a/xxx.jpg

options.seller

boolean

false

是否上传到商家图片空间。

SDK版本>=1.2.4。

若该参数为true,fileType只能填image;

前置权限包:商家应用-商家云存储。

options.dirId

string

0

商家图片空间目录ID,不传则到根目录


四、出参


返回Promise对象, resolve结果如下。


字段名

说明

result.fileId

文件Id, 通过file.getTempFileURL获取临时访问url

result.fileName

文件全路径名称

result.url

此链接临时有效,失效后需要通过文件Id调用file.getTempFileURL重新获取文件访问链接


五、调用示例


1.上传图片


const {cloud} = getApp(); 
Page({  
  data:{},  
  onLoad(query) {  
    // 页面加载  
  },  
  async testUploadFile(){  
     my.chooseImage({
      success: images => {
        try{
          cloud.file.uploadFile({
                filePath: images.apFilePaths[0],  
                fileType: 'image',  
                fileName: '/user/avatar.png',  
          }).then((data) => {
              console.log(data);
          })
        }catch(e) {
            my.alert({
                content: 'error ' + e.message  
            });  
        }
      }
    })  
  } 
});


2.上传音视频


const {cloud} = getApp(); 
Page({  
  data:{},  
  onLoad(query) {  
    // 页面加载  
  },  
  async testUploadVideo(){
    my.chooseVideo({
      sourceType: ['album','camera'],
      maxDuration: 60,
      camera: 'back',
      success: video => {
        try{
            cloud.file.uploadFile({
                filePath: video.tempFilePath,
                fileType: 'video',  
                fileName: 'fe.mp4'  
          }).then((response) => {
              console.log(response);
          })
        }catch(e) {
          my.alert({
            content: 'error ' + e.message  
            }); 
        }
      }   
    })
    }
});


3.上传其他文件类型


其他文件类型包括excel、zip包等格式的文件。手机淘宝端暂不支持上传其他文件,PC千牛端可以先通过调用接口my.qn.chooseFile获取本地文件的临时路径,然后上传到云存储。


const {cloud} = getApp(); 
Page({  
  data:{},  
  onLoad(query) {  
    // 页面加载  
  },  
  async uploadFile(){
    my.qn.chooseFile({
      count: 1,   // 返回的文件数,默认 1
      type: 0x02, // 图片=0x01,文档=0x02,多媒体=0x04,自由组合,默认 0x01
      success: (res) => {
        console.log(res); 
        try{
          cloud.file.uploadFile({
              filePath: res.apFilePaths[0],  
              fileType: 'other',  
              fileName: 'test.xlsx',  
          }).then((data) => {
              console.log(data);
          })
         }catch(e) {
           console.log("fail:"+e);
        }
      }
    });
  }
});



FAQ

关于此文档暂时还没有FAQ
返回
顶部