`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 官方文档

相关推荐
dly_blog21 小时前
ref 与 reactive 的本质区别(第3节)
前端·javascript·vue.js
前端程序猿之路1 天前
Next.js 入门指南 - 从 Vue 角度的理解
前端·vue.js·语言模型·ai编程·入门·next.js·deepseek
D_C_tyu1 天前
Vue3 + Element Plus | el-table 表格获取排序后的数据
javascript·vue.js·elementui
JIngJaneIL1 天前
基于java+ vue农产投入线上管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
hellotutu1 天前
vue2 从 sessionStorage 手动取 token 后,手动加入到 header
vue.js·token·session·header
一 乐1 天前
酒店预约|基于springboot + vue酒店预约系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
前端无涯1 天前
React/Vue 代理配置全攻略:Vite 与 Webpack 实战指南
vue.js·react.js
JIngJaneIL1 天前
基于java+ vue交友系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·交友
苹果酱05671 天前
解决linux mysql命令 bash: mysql: command not found 的方法
java·vue.js·spring boot·mysql·课程设计
拉不动的猪1 天前
回顾计算属性的缓存与监听的触发返回结果
前端·javascript·vue.js