uniapp选择文件上传

2023-05-06 21:04:48 浏览数 (2)

获取文件临时地址

获取图片

  • uni.chooseImage(OBJECT)
    • 只能选择图片
    • 从本地相册选择图片或使用相机拍照
    • 返回为临时地址,关闭页面后失效

示例

代码语言:javascript复制
uni.chooseImage({
    count:1,// 图片数量
    success:(imgPath)=>{
        console.log(imgPath.tempFilePaths[0]);//临时文件地址
    },fail(err) {
        console.log(err);
        //失败,(没有权限或取消)
    }
})

获取所有类型文件

  • uni.chooseFile(OBJECT)
    • 主要用于选择非媒体文件
    • 只能在H5中使用
    • 返回为临时地址,关闭页面后失效
代码语言:javascript复制
uni.chooseFile({
    count: 1,//文件数量
    extension: ['.zip', '.doc', '.xls', '.pdf', 'docx', '.rar', '.7z', '.jpg', '.png', '.jpeg'],
    //文件类型
    success(res) {
        console.log(imgPath.tempFilePaths[0]);//临时文件地址  
    },fail(err) {
        console.log(err);//失败,(没有权限或取消)
    }
})

文件上传

  • uni.uploadFile(OBJECT)
    • 返回的数据要自己转json

示例

代码语言:javascript复制
uni.uploadFile({
    url:URL,//服务器地址
    filePath:imgPath.tempFilePaths[0],//临时文件地址
    name:"resources",//服务器通过该名称获取文件
    success(res){
        console.log(res);
    }
})

注意

安卓权限

没有权限时

没有权限时会调用失败的回调函数返回

代码语言:javascript复制
{"errMsg":"chooseImage:fail resultCode is wrong","code":11} 

权限配置

  1. 读取相册:文件储存
  2. 相机
  3. 读文件
  4. 写文件
代码语言:javascript复制
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

0 人点赞