UniApp上传图片

简介: 小程序大家应该都知道,通过上传组件得到的都是本地的一个临时路径,这个路径是不能被外网访问的,所以我们就需要将拿到的临时路径转成Base64上传到后台服务器。或者说是另外一个办法,就是通过组件直接上传文件,这个看需求设计吧。
小程序大家应该都知道,通过上传组件得到的都是本地的一个临时路径,这个路径是不能被外网访问的,所以我们就需要将拿到的临时路径转成Base64上传到后台服务器。或者说是另外一个办法,就是通过组件直接上传文件,这个看需求设计吧。

一、Base64上传

1.下载图片转换工具image-tools

NPM
--安装组件
npm i image-tools --save
--引用组件
import { pathToBase64, base64ToPath } from 'image-tools'

2.通过组件上传

// 新增图片
async afterRead(event) {
  // 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
  console.log(event.file.url);
  pathToBase64(event.file.url).then(base64 => {
    console.log(base64);
    uni.request({
      url: '后台上传地址',
      method: 'POST',
      data: {
        image: base64,
      },
      success: (res) => {
        if (res.data.code == 200) {
        } else {
        }
      },
      fail: (error) => {
        console.log(error);
      }
    })
  }).catch(error => {
    console.error(error);
  })
}

二、文件上传

// 新增图片
async afterRead(event) {
  // 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
  console.log(event.file.url);
  const result = await this.uploadFilePromise(event.file.url)
  this.model.image = result;

},
uploadFilePromise(url) {
  return new Promise((resolve, reject) => {
    let a = uni.uploadFile({
      url: '后台上传地址', // 仅为示例,非真实的接口地址
      filePath: url,
      name: 'file',
      formData: {
        user: 'test'
      },
      success: (res) => {
        setTimeout(() => {
          resolve(res.data)
        }, 1000)
      }
    });
  })
}
这两种上传方式都可以实现小程序的文件图片上传,记录一下。
目录
相关文章
|
6月前
|
前端开发 小程序 Java
uniapp上传图片 前端以及java后端代码实现
uniapp上传图片 前端以及java后端代码实现
247 0
uniapp根据官方文档上传图片的方法
uniapp根据官方文档上传图片的方法
|
存储 移动开发 小程序
【uniapp小程序】上传图片
【uniapp小程序】上传图片
1402 0
【uniapp小程序】上传图片
uniapp上传图片
uniapp上传图片
160 0
|
6月前
uniapp上传图片功能怎么实现?
uniapp上传图片功能怎么实现?
|
前端开发 JavaScript
uniapp上传图片至服务器,获得在线图片链接预览(实战)
uniapp上传图片至服务器,获得在线图片链接预览(实战)
439 0
uniapp上传图片的回显
uniapp上传图片的回显
412 0
|
4月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的房屋租赁App的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的房屋租赁App的详细设计和实现(源码+lw+部署文档+讲解等)
127 7
基于SpringBoot+Vue+uniapp的房屋租赁App的详细设计和实现(源码+lw+部署文档+讲解等)
|
4月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的汉服交易小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的汉服交易小程序的详细设计和实现(源码+lw+部署文档+讲解等)
62 7
|
4月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的宠物医院微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的宠物医院微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
82 7