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); }
分类:
Vue.js
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
2018-04-09 C#生成二维码(可保存二维码图片)