- 发布:2022-07-12 12:12
- 更新:2022-12-21 17:29
- 阅读:1056
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Win10
HBuilderX类型: 正式
HBuilderX版本号: 3.4.18
手机系统: 全部
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
测试过的手机:
示例代码:
/**
* 选择文件并上传
*/
chooseFiles() {
const _extname = get_extname(this.fileExtname)
// 获取后缀
uniCloud
.chooseAndUploadFile({
type: this.fileMediatype,
compressed: false,
sizeType: this.sizeType,
// TODO 如果为空,video 有问题
extension: _extname.length > 0 ? _extname : undefined,
count: this.limitLength - this.files.length, //默认9
onChooseFile: this.chooseFileCallback,
onUploadProgress: progressEvent => {
this.setProgress(progressEvent, progressEvent.index)
}
})
.then(result => {
this.setSuccessAndError(result.tempFiles)
})
.catch(err => {
console.log('选择失败', err)
})
},
/**
* 选择文件并上传
*/
chooseFiles() {
const _extname = get_extname(this.fileExtname)
// 获取后缀
uniCloud
.chooseAndUploadFile({
type: this.fileMediatype,
compressed: false,
sizeType: this.sizeType,
// TODO 如果为空,video 有问题
extension: _extname.length > 0 ? _extname : undefined,
count: this.limitLength - this.files.length, //默认9
onChooseFile: this.chooseFileCallback,
onUploadProgress: progressEvent => {
this.setProgress(progressEvent, progressEvent.index)
}
})
.then(result => {
this.setSuccessAndError(result.tempFiles)
})
.catch(err => {
console.log('选择失败', err)
})
},
操作步骤:
uniapp官方例子程序就能重现,找到图片上传的页面,修改 sourceType参数值为["camera"],运行点击上传按钮。
uniapp官方例子程序就能重现,找到图片上传的页面,修改 sourceType参数值为["camera"],运行点击上传按钮。
预期结果:
仅出现拍照,不同时出现拍照,相册的选择
仅出现拍照,不同时出现拍照,相册的选择
实际结果:
出现拍照、相册的选择
出现拍照、相册的选择
bug描述:
我使用本地图片上传,没有使用 uniCloud 图片上传, 图片上传会弹出相册或者拍照,都是工作的。但是现在需求是仅允许拍照上传图片,看了下 uni.chooseImage 中开放了参数 sourceType,可以设定 相册或者拍照。
但是在现有的 uni-file-picker中,发现无法定制参数 sourceType, 主要逻辑落在文件uni-file-picker.vue第341行函数 chooseFiles 中,传递参数的时候,sourceType丢失了,非常希望能够补上这个功能,方便外部设定参数 sourceType。
这个功能对业务很重要,因为存在一些场景,不允许访问相册,只能现场拍照。
4 个回复
择善固执 (作者) - 择善固执,日拱一卒
这个bug我在github也提交过,好像那边关注度低一些
https://github.com/dcloudio/uni-ui/issues/524
1***@qq.com
楼主解决了吗
YUANRJ
您好,已收到反馈
YUANRJ
您好,功能已支持 https://ext.dcloud.net.cn/plugin?name=uni-file-picker