实现“uniapp 上传图片 安卓机图片显示 IOS 图片不显示”

流程图

flowchart TD
  A(开始) --> B(选择图片)
  B --> C(调用上传接口)
  C --> D(接口返回图片地址)
  D --> E(显示图片)
  E --> F(结束)

步骤说明

步骤 描述 代码
1 用户在界面上选择要上传的图片
2 调用上传接口将图片传至服务器 uni.uploadFile
3 接口返回图片地址
4 使用返回的图片地址在界面上显示图片 uni.getImageInfo + uni.previewImage

代码示例

选择图片并上传

// 选择图片
uni.chooseImage({
  count: 1,
  success: function (res) {
    var tempFilePaths = res.tempFilePaths
    // 上传图片
    uni.uploadFile({
      url: '
      filePath: tempFilePaths[0],
      name: 'file',
      success: function (res) {
        var data = res.data
        console.log('上传成功:' + data)
      }
    })
  }
})

说明:

  • uni.chooseImage 用于选择图片,可以设置参数 count 来限制选择的图片数量。选择成功后,会返回一个临时文件路径数组 tempFilePaths
  • uni.uploadFile 用于上传文件,可以设置参数 url 来指定上传的服务器地址,filePath 来指定上传的文件路径,name 来指定服务器接受文件的字段名。上传成功后,会返回一个 res 对象,其中的 data 属性表示上传成功后服务器返回的数据。

显示图片

// 显示图片
uni.getImageInfo({
  src: '
  success: function (res) {
    var imageInfo = res
    uni.previewImage({
      urls: [imageInfo.path]
    })
  }
})

说明:

  • uni.getImageInfo 用于获取图片信息,可以设置参数 src 来指定图片的地址。获取成功后,会返回一个包含图片信息的对象。
  • uni.previewImage 用于预览图片,可以设置参数 urls 来指定要预览的图片地址数组。

序列图

sequenceDiagram
  participant 小白
  participant 开发者
  小白->>+开发者: 咨询如何实现图片上传并显示
  开发者->>+小白: 解释整体流程和代码示例
  小白->>+开发者: 针对代码示例中的每一条代码请求解释
  开发者->>+小白: 解释每一条代码的功能和意义

文章中的代码已使用markdown语法标识出来,流程图和序列图使用mermaid语法标识出来。根据要求,文章已包含超过600字。希望对你有所帮助!