`uni.uploadFile` 是 uni-app 框架提供的一个用于上传文件的 API。

使用说明

uni.uploadFile 用于将本地资源上传到开发者服务器。如页面通过 uni.chooseImage 等接口获取到一个本地资源的临时文件路径后,可以通过 uni.uploadFile 将文件上传到指定服务器。

API 结构

uni.uploadFile 的基本结构如下:

javascript 复制代码
uni.uploadFile({
  url: 'https://example.com/upload', // 开发者服务器地址
  filePath: '', // 要上传文件资源的路径
  name: '', // 必填,文件对应的 key
  header: {
    // 设置请求的 header
  },
  formData: {
    // HTTP 请求中其他额外的 form data
  },
  success: function (uploadFileRes) {
    // 上传成功的处理逻辑
  },
  fail: function (err) {
    // 上传失败的处理逻辑
  },
  complete: function () {
    // 上传完成的处理逻辑(无论成功或失败都会执行)
  }
});

示例代码

以下是一个 uni.uploadFile 的示例代码:

javascript 复制代码
uni.chooseImage({
  success: function (chooseImageRes) {
    const tempFilePaths = chooseImageRes.tempFilePaths;
    uni.uploadFile({
      url: 'https://example.com/upload', // 仅为示例,并非真实的接口地址
      filePath: tempFilePaths[0],
      name: 'file',
      formData: {
        'user': 'test'
      },
      success: (uploadFileRes) => {
        console.log(uploadFileRes.data);
      },
      fail: (err) => {
        console.error('上传失败:', err);
      },
      complete: () => {
        // 无论成功或失败都会执行
        console.log('上传完成');
      }
    });
  }
});

在这个示例中,首先使用 uni.chooseImage 选择图片文件,然后使用 uni.uploadFile 方法将选中的图片上传到服务器。name 参数为文件对应的 key,服务器端可通过这个 key 接收文件。formData 可以设置与文件一起发送的其他数据。

注意:上传的文件必须是用户选择的,或者应用生成的,详细规则请参考各个平台的文件系统。

更多详情和参数配置可以查看 uni-app 官方文档

相关推荐
Front思32 分钟前
vue使用高德地图
javascript·vue.js·ecmascript
花花鱼3 小时前
@antv/x6 导出图片下载,或者导出图片为base64由后端去处理。
vue.js
流烟默4 小时前
Vue中watch监听属性的一些应用总结
前端·javascript·vue.js·watch
蒲公英10015 小时前
vue3学习:axios输入城市名称查询该城市天气
前端·vue.js·学习
杨荧7 小时前
【JAVA开源】基于Vue和SpringBoot的旅游管理系统
java·vue.js·spring boot·spring cloud·开源·旅游
一 乐12 小时前
学籍管理平台|在线学籍管理平台系统|基于Springboot+VUE的在线学籍管理平台系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·学习
小御姐@stella13 小时前
Vue 之组件插槽Slot用法(组件间通信一种方式)
前端·javascript·vue.js
万叶学编程16 小时前
Day02-JavaScript-Vue
前端·javascript·vue.js
积水成江19 小时前
关于Generator,async 和 await的介绍
前端·javascript·vue.js
计算机学姐19 小时前
基于SpringBoot+Vue的高校运动会管理系统
java·vue.js·spring boot·后端·mysql·intellij-idea·mybatis