Axios 中的文件上传 File对象的方法

  1. 使用 FormData 对象
    FormData是一个用于创建表单数据的 API,可用于发送包含文件和其他表单数据的multipart/form-data请求。这是处理文件上传的常用方法。通过FormData对象,可以将文件数据添加到表单中,然后使用 Axios 的post或put方法发送请求
javascript 复制代码
在.env.development 文件中配置地址 
# 只在开发模式中被载入
VITE_PORT = 8001

# 网站根目录
VITE_PUBLIC_PATH = /

# 是否开启mock
VITE_USE_MOCK = false

# 网站前缀
VITE_BASE_URL = /

# 是否删除console
VITE_DROP_CONSOLE = false

# 跨域代理,可以配置多个,请注意不要换行
#VITE_PROXY = [["/appApi","http://localhost:8001"],["/upload","http://localhost:8001/upload"]]
#VITE_PROXY=[["/api","https://naive-ui-admin"]]

# API 接口地址
VITE_GLOB_API_URL = http://247.94.82.23:8091

# 图片上传地址
VITE_GLOB_UPLOAD_URL = http://247.94.82.23:8091/file/upload/

# 图片前缀地址
VITE_GLOB_IMG_URL=

# 接口前缀
VITE_GLOB_API_URL_PREFIX = /

//在接口导出文件中写接口
  const filePath = import.meta.env.VITE_GLOB_API_URL;

  export function uploadfile(file) { //上传附件
    console.log(file);
    console.log(filePath+'/upload/file');
  
    const formData = new FormData();
    formData.append('file', file);

    return new Promise(function(resolve) {// 执行器函数  同步回调
   
    axios.post(filePath+'/upload/file', formData, {
      headers: {
        'Content-Type': 'multipart/form-data'
      }  
    }).then(response => {
      console.log('上传成功', response.data);
     
      resolve(response.data)
    }).catch(error => {
      console.error('上传失败', error);
     
      resolve(error)
    });
  })
  }
  //在调用的地方写调用的函数
  import * as jk  from '@/api/appw';
const afterRead = async (file) => {
      // 此时可以自行将文件上传至服务器
      //file文件里边的数据如上图所示
      console.log(file);
      let dat =  jk.uploadfile(file.file);
      console.log(dat);

 }
//

// 
const axios = require('axios');
const fileInput = document.querySelector('#fileInput');
const file = fileInput.files[0];
const formData = new FormData();
formData.append('file', file);
axios.post('/upload', formData, {
  headers: {
    'Content-Type': 'multipart/form-data'
  }
}).then(response => {
  console.log('上传成功', response.data);
}).catch(error => {
  console.error('上传失败', error);
});
相关推荐
三十而立洋3 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁3 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄3 天前
JavaScript 隐式全局变量解析
javascript
沙蒿同学3 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端
paopaokaka_luck3 天前
智慧社区综合服务小程序(人脸识别、AI问答、Echarts图形化分析)
前端·javascript·spring boot·spring·数据分析·echarts
Hilaku3 天前
为什么死磕 1px 的团队,用户体验反而更差?
前端·javascript·程序员
陈拉斯3 天前
给公司年会写了个大屏抽奖系统:动画在前端跑,凭什么说结果没被改?
javascript
yzy853 天前
Vue中下载或打开文件的JavaScript方法
前端·javascript·vue
用户298698530143 天前
在 React 中用 JavaScript 将 Word 转换为文本
前端·javascript·react.js
李少兄3 天前
深入解析 JavaScript 中的 `document` 对象
javascript