首页 > 其他分享 >VueJs使用axios上传文件

VueJs使用axios上传文件

时间:2024-04-09 17:26:42浏览次数:25  
标签:axios VueJs res param token let 上传 true

html

<input type="file" id="fileUploadEle" ref="fileUploadEle" style="display:none;" accept=".png, .jpg"
                    @change="selectFile" />
                <label for="fileUploadEle">
                    <el-button type="primary" @click="openFileDialog">上传头像</el-button>
                </label>

js

let fileUploadEle = ref<object>({}); let upFile: any = null;
function openFileDialog() {
    // document.getElementById('fileUploadEle').click();
    (fileUploadEle.value as HTMLElement).click();
}

function selectFile(e: any) {
    let file = e.target.files[0];
    upFile = file;
}
//上传2,点击按钮上传。
const uploadFiles = async () => {
    await uploadFilesReq(upFile).then((res) => {
        console.log(res);
        if (res.status == 200 && res.data.errorCode == '0') {
            // ElMessage({ showClose: true, message: "操作成功", grouping: true, type: 'success' });
            form.sysUserAvatar = res.data.data[0];
        } else {
            ElMessage({ showClose: true, message: "图片上传失败:" + res.data.message, grouping: true, type: 'error' });
        }
    }).catch(err => {
        ElMessage({ showClose: true, message: "图片上传错误:" + JSON.stringify(err), grouping: true, type: 'error' });
    });
}

common

import { getCookie } from '@/common/cookie'
import Axios from "axios"
// import pinia from '@/stores/store'
// import { useSystemDataStore } from '@/stores/index'
// SystemDataStore 可以在本文件中随意使用
// const SystemDataStore = useSystemDataStore(pinia);
let domainUrl = import.meta.env.VITE_ApiDomain;
//上传2,点击按钮上传。
export async function uploadFilesReq(upFile: any) {
    /* eslint-disable no-undef */
    let param = new FormData(); // 创建form对象
    param.append("file", upFile); // 通过append向form对象添加数据
    // console.log(param.get("file")); // FormData私有类对象,访问不到,可以通过get判断值是否传进去
    let config = {
        headers: { "Content-Type": "multipart/form-data","Authorization": "","Access-Control-Allow-Origin-Type":"*"},
    };
    let token = getCookie('XSRF-TOKEN');
    if (token != undefined && token != '' && token != null) {
        // let each request carry token
        // ['X-Token'] is a custom headers key
        // please modify it according to the actual situation
        config.headers['Authorization'] = 'Bearer ' + token;
    }
    // 添加请求头 domainUrl
    return await Axios.post(domainUrl + "Upload/UploadFiles", param, config);
    // return await Axios.post(SystemDataStore.apiDomain + "Upload/UploadFiles", param, config);
}

 

标签:axios,VueJs,res,param,token,let,上传,true
From: https://www.cnblogs.com/xsj1989/p/18124363

相关文章

  • xmlhttprequest upload 实现前端上传进度
    elementuiupload代码片段exportdefaultfunctionupload(option){if(typeofXMLHttpRequest==='undefined'){return;}constxhr=newXMLHttpRequest();constaction=option.action;if(xhr.upload){xhr.upload.onprogress=......
  • asp.net KindEditor编辑器整合百度WebUploader插件批量上传图片
    集成背景说明多个图片进行批量上传新版本浏览器兼容性问题处理,原编辑器上传图片功能使用flash上传插件,由于最新版本浏览器不再支持flash,重新集成新的上传插件,对编辑器进行改造升级。一、KindEditor介绍KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即......
  • MFC通过Http请求上传文件
    MFC通过Http请求上传文件voidCMFCApplication1Dlg::HttpPostFile(stringurl,CStringfile,stringparamName,stringcontentType){CInternetSessionpSession(_T("ic_PostWav"));//可以随意CHttpConnection*pConnect;CHttpFile*pFile;//通过......
  • 【SpringBoot整合系列】SpringBoot 实现大文件分片上传、断点续传及秒传
    目录功能介绍文件上传分片上传秒传断点续传相关概念相关方法大文件上传流程前端切片处理逻辑后端处理切片的逻辑流程解析后端代码实现功能目标1.建表SQL2.引入依赖3.实体类4.响应模板5.枚举类6.自定义异常7.工具类8.Controller层9.FileService10.LocalStorageService11......
  • Django后端如何限制上传文件大小
    在Django中,对上传文件大小进行限制可以通过几种不同的方法来实现。这包括在表单层面、视图层面或通过设置Django项目的全局配置。以下是一些常用的方法:方法1:使用Django设置限制文件大小在Django的settings.py文件中,你可以设置DATA_UPLOAD_MAX_MEMORY_SIZE来限制上传文件的大......
  • 0day 新视窗新一代物业管理系统RegisterManager存在任意文件上传漏洞
     0x01阅读须知        技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用......
  • 致远OA fileUpload.do接口处存在任意文件上传漏洞
     0x01阅读须知        技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用......
  • axios配置全局过滤器
    importaxiosfrom'axios'constservice=axios.create({baseURL:'/api',//注意!!这里是全局统一加上了'/api'前缀,也就是说所有接口都会加上'/api'前缀在,页面里面写接口的时候就不要加'/api'了,否则会出现2个'/api',类似'/api/api/user'......
  • Java实现Fast DFS、服务器、OSS上传
    支持FastDFS、服务器、OSS等上传方式介绍在实际的业务中,可以根据客户的需求设置不同的文件上传需求,支持普通服务器上传+分布式上传(FastDFS)+云服务上传OSS(OSS)软件架构为了方便演示使用,本项目使用的是前后端不分离的架构前端:Jquery.uploadFile后端:SpringBoot前期准备:F......
  • EBS Form 实现上传EXCEL
    公共程序包头CREATEORREPLACEPACKAGEECS_WIP_PKGIS--Publictypedeclarations/************************************************************************Owner:EXCEL导入*Parameters:*ReturnValue:*CreationDate:2022-1-1409:02:54*Crea......