当前位置: 首页 > news >正文

上传图片并显示#Vue3#后端接口数据

上传图片并显示#Vue3#后端接口数据

效果:
在这里插入图片描述

上传并显示图片

代码:

<!-- 上传图片并显示 -->
<template><!-- 上传图片start --><div><el-form><el-form-item><el-uploadmultipleclass="avatar-uploader"action="":http-request="uploadFile1"list-type="picture":show-file-list="false"><img v-if="imageUrl" class="avatar" :src="imageUrl" /><el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon></el-upload></el-form-item></el-form></div><!-- 上传图片end -->
</template><script setup lang="ts">
import { Plus } from "@element-plus/icons-vue";
import { ref } from "vue";
import axios from "axios";
import { useRouter } from "vue-router";
import { ElNotification } from "element-plus";const router = useRouter();
console.log(router.currentRoute.value.path); //当前路由路径
sessionStorage.setItem("path", router.currentRoute.value.path);// 定义表单
let tableForm = ref({file: "",
});
const imageUrl = ref("");
// 上传并显示图片
const uploadFile1 = async (val: any) => {tableForm.value.file = val.file;console.log("tableForm", tableForm);// 数据交互let formdata = new FormData();formdata.append("File", tableForm.value.file);// 上传文件await axios.post("http://192.168.1.214:5050/api/File/UploadFile", formdata, {headers: { "Content-Type": "multipart/form-data" },}).then((res) => {console.log("res.data", res.data);console.log("res.data.data.id", res.data.data.id);// 找到文件路径axios.post("http://192.168.1.214:5050/api/File/FilePathInfo", {id: res.data.data.id,}).then((result) => {console.log("result.data.data.filePath", result.data.data.filePath);let path = "http://192.168.1.214:5050" + result.data.data.filePath;console.log("path", path);imageUrl.value = path;});if (res.data.status === 200) {ElNotification({title: "上传成功",message: "上传成功",duration: 2000,type: "success",});}});
};
</script><style scoped lang="scss">
// 上传图片
.avatar-uploader .avatar {width: 200px;height: 200px;display: block;
}
.avatar-uploader {width: 200px;height: 200px;border: 1px dashed var(--el-border-color);border-radius: 6px;cursor: pointer;position: relative;overflow: hidden;transition: var(--el-transition-duration-fast);
}
.avatar-uploader:hover {border-color: var(--el-color-primary);
}
.el-icon {font-size: 20px;color: #8c939d;width: 200px;height: 200px;text-align: center;
}
</style>
http://www.lryc.cn/news/361671.html

相关文章:

  • 音视频开发14 FFmpeg 视频 相关格式分析 -- H264 NALU格式分析
  • Qt学习记录(15)数据库
  • c++常用设计模式
  • 【动手学深度学习】softmax回归从零开始实现的研究详情
  • MySQL:MySQL执行一条SQL查询语句的执行过程
  • 解决Python导入第三方模块报错“TypeError: the first argument must be callable”
  • 在python中连接了数据库后想要在python中通过图形化界面显示数据库的查询结果,请问怎么实现比较好? /ttk库的treeview的使用
  • OZON的选品工具,OZON选品工具推荐
  • 营销方案撰写秘籍:包含内容全解析,让你的方案脱颖而出
  • 如何制作一本温馨的电子相册呢?
  • 485通讯网关
  • Anaconda中的常用科学计算工具
  • Java 中BigDecimal传到前端后精度丢失问题
  • 在Linux/Ubuntu/Debian上安装TensorFlow 2.14.0
  • 多语言for循环遍历总结
  • python API自动化(Jsonpath断言、接口关联及加密处理)
  • C++入门5——C/C++动态内存管理(new与delete)
  • leetcode 743.网络延时时间
  • MATLAB导入导出Excel的方法|读与写Excel的命令|附例程的github下载链接
  • 【第4章】SpringBoot实战篇之登录优化(含redis使用)
  • 数据结构:详解二叉树(树,二叉树顺序结构,堆的实现与应用,二叉树链式结构,链式二叉树的4种遍历方式)
  • HarmonyOS-9(stage模式)
  • RestTemplate代码内部访问RESTful服务的客户端工具
  • Flutter 中的 SliverLayoutBuilder 小部件:全面指南
  • 家政预约小程序11新增预约
  • AI雷达小程序个人名片系统源码 PHP+MYSQL组合开发 带完整的安装代码包以及搭建教程
  • Kafka生产者消息异步发送并返回发送信息api编写教程
  • WiFi串口服务器与工业路由器:局域网应用的协同之力
  • Unity功能——通过按键设置物体朝左/右旋转(含C#转xlua版)
  • 泛微ecology开发修炼之旅