官方的 uni-file-picker 组件默认会把上传的文件全部上传到unicloud云存储的根目录下,这样太乱了,但是在文档中没有找的修改上传路径的办法(不知道是不能改还是我没找到)
经过查阅发现,使用 uniCloud.uploadFile() API,可以将文件上传到unicloud云存储空间的指定目录下。
只需配置 cloudPath 属性为 目录名/文件名 即可。
不同平台有差异,具体查看官方文档。
import { ref } from 'vue'
const temFile = ref({})
const addFile = () => { //从本地相册选择图片
uni.chooseImage({
count: 1
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album'], //从相册选择
success: (res) => {
temFile.value = res.tempFiles[0]
}
})
}
// 点击上传
const goUpload = () => {
uniCloud.uploadFile({
filePath: temFile.value.path, // 本地文件路径
cloudPath: `自定义目录/${temFile.value.name}` // 云端文件名
}).then(res => {
// console.log(res);
})
}