实现“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字。希望对你有所帮助!