vue+SpringBoot的圖片上傳

前端VUE的代碼實現

直接粘貼過來element-UI的組件實現

        <el-uploadclass="avatar-uploader"action="/uploadAvatar"   //這個action的值是服務端的路徑,其他不用改:show-file-list="false":on-success="handleAvatarSuccess":before-upload="beforeAvatarUpload"><img v-if="imageUrl" :src="imageUrl" class="avatar"><i v-else class="el-icon-plus avatar-uploader-icon"></i></el-upload>

后端springboot的代碼實現

package com.aqiuo.controller;import com.aqiuo.entity.dto.Result;
import com.aqiuo.utils.RandomUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpRequest;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.util.UUID;@RestController
@ResponseBody
@Slf4j
public class UploadAvatar {@RequestMapping(value = "/uploadAvatar",method = {RequestMethod.POST})public Result imgUpDown(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws IOException {if(!file.isEmpty()) {String fileName = file.getOriginalFilename();String suffixName = fileName.substring(fileName.indexOf("."));//設置上傳文件的保存地址目錄String dirpath=request.getServletContext().getRealPath("/upload");System.out.println(dirpath);File parentFilePath=new File(dirpath);//如果保存文件不存在就先創建目錄if(!parentFilePath.exists()) {parentFilePath.mkdir();}String fileNewName = UUID.randomUUID() + fileName;File newFile = new File(parentFilePath, fileNewName);file.transferTo(newFile);return Result.ok(newFile);}return null;}
}

易錯地點:

文件的存儲位置一定要明確

運行效果

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/165169.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/165169.shtml
英文地址,請注明出處:http://en.pswp.cn/news/165169.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

萬界星空科技商業開源MES/免費MES/低代碼MES

萬界星空科技商業開源MES可以提供包括制造數據管理、計劃排程管理、生產調度管理、庫存管理、質量管理、人力資源管理、工作中心/設備管理、工具工裝管理、采購管理、成本管理、項目看板管理、生產過程控制、底層數據集成分析、上層數據集成分解等管理模塊&#xff0c;打造一個…

141.【Git版本控制-本地倉庫-遠程倉庫-IDEA開發工具全解版】

Git-深入挖掘 (一)、Git分布式版本控制工具1.目標2.概述(1).開發中的實際常見(2).版本控制器的方式(3).SVN (集中版本控制器)(4).Git (分布版本控制器)(5).Git工作流程圖 (二)、Git安裝與常用命令1.Git環境配置(1).安裝Git的操作(2).Git的配置操作(3).為常用的指令配置別名 (可…

element中el-switch的v-model自定義值

一、問題 element中的el-switch的值默認都是true或false&#xff0c;但是有些時候后端接口該字段可能是0或者1&#xff0c;如果說再轉換一次值&#xff0c;那就有點太費力了。如下所示&#xff1a; <template><el-switchinactive-text"否"active-text&quo…

【Seata源碼學習 】篇四 TM事務管理器是如何開啟全局事務

TM發送 單個或批量 消息 以發送GlobalBeginRequest消息為例 TM在執行攔截器鏈路前將向TC發送GlobalBeginRequest 消息 io.seata.tm.api.DefaultGlobalTransaction#begin(int, java.lang.String) Overridepublic String begin(String applicationId, String transactionServi…

操作系統發展過程--單道批處理系統、多道批處理系統、分時系統、實時系統

一、單道批處理系統 計算機早期&#xff0c;為了能提高利用率&#xff0c;需要盡量保持系統的連續運行&#xff0c;即在處理完一個作業之后&#xff0c;緊接著處理下一個作業&#xff0c;以減少機器的空閑等待時間 1.單道批處理系統的處理過程 為了實現對作業的連續處理&…

51單片機應用從零開始(七)·循環語句(if語句,swtich語句)

51單片機應用從零開始&#xff08;一&#xff09;-CSDN博客 51單片機應用從零開始&#xff08;二&#xff09;-CSDN博客 51單片機應用從零開始&#xff08;三&#xff09;-CSDN博客 51單片機應用從零開始&#xff08;四&#xff09;-CSDN博客 51單片機應用從零開始&#xff08;…

數倉成本下降近一半,StarRocks 存算分離助力云覽科技業務出海

成都云覽科技有限公司傾力打造了鳳凰瀏覽器&#xff0c;專注于為海外用戶提供服務&#xff0c;公司致力于構建一個全球性的數字內容連接入口&#xff0c;為用戶帶來更為優質、高效、個性化的瀏覽體驗。 作為數據驅動的高科技公司&#xff0c;從數據中挖掘價值一直是公司核心任務…

【Spring進階系列丨第四篇】學習Spring中的Bean管理(基于xml配置)

前言 在之前的學習中我們知道&#xff0c;容器是一個空間的概念&#xff0c;一般理解為可盛放物體的地方。在Spring容器通常理解為BeanFactory或者ApplicationContext。我們知道spring的IOC容器能夠幫我們創建對象&#xff0c;對象交給spring管理之后我們就不用手動去new對象。…

基于單片機的智能藍牙避障循跡小車

智能小車循跡與避障運動控制系統的設計 摘 要:本設計主要由STC89C52單片機來進行控制&#xff0c;通過輸入輸出兩個端口控制驅動模塊來調節電機的工作狀態。本設計預利用機器視覺&#xff0c;通過識別條帶狀路標實現自主導航且利用超聲波模塊實時檢測距離以實現避障功能&…

vue3 webSocket 封裝及使用

vue3 webSocket 封裝及使用 封裝 import { ref, onUnmounted } from vue; interface SocketOptions {heartbeatInterval?: number;reconnectInterval?: number;maxReconnectAttempts?: number; }class Socket {url: string;ws: WebSocket | null null;opts: SocketOption…

【Docker】從零開始:9.Docker命令:Push推送倉庫(Docker Hub,阿里云)

【Docker】從零開始&#xff1a;9.Docker命令:Push推送倉庫 知識點1.Docker Push有什么作用&#xff1f;2.Docker倉庫有哪幾種2.1 公有倉庫2.2 第三方倉庫2.3 私有倉庫2.4 搭建私有倉庫的方法有哪幾種 3.Docker公有倉庫與私有倉庫的優缺點對比 Docker Push 命令標準語法操作參數…

openEuler 22.03 LTS x86_64 cephadm 部署ceph18.2.0 未完成 筆記

環境 準備三臺虛擬機 10.47.76.94 node-1 10.47.76.95 node-2 10.47.76.96 node-3 下載cephadm [rootnode-1 ~]# yum install cephadm Last metadata expiration check: 0:11:31 ago on Tue 21 Nov 2023 10:00:20 AM CST. Dependencies resolved. Package …

酷開系統 | 酷開科技聚焦價值人群 助力營銷增長

2023年&#xff0c;是消費復蘇回暖的一年&#xff0c;市場中充溢著大量品牌重啟增長的機遇與實例。品牌商期望能夠把握住市場趨勢&#xff0c;通過營銷獲得確定性的業績提升&#xff0c;并在未來收獲長期穩定的增長。作為數字媒介的代表之一&#xff0c;OTT大屏營銷的屬性和價值…

Vue學習之路------指令

Vue指令 vue會根據不同的指令&#xff0c;針對標簽實現不同的功能 指令:帶有v-前綴的特殊標簽屬性 1&#xff1a;v-html&#xff1a;指令 <div v-html"msg"></div> 2&#xff1a;v-show 作用&#xff1a;控制元素顯示隱藏 語法&#xff1a;v-show&quo…

【SpringMVC】 對請求的不同響應

前言 本文學習如何運用不同的注解來返回不同的響應. 1.返回靜態頁面Controller 返回index.html頁面 Controller 和 RestController的區別 controller 只有加上這個注解,Spring才會幫我們管理這個代碼.后續我們訪問時才能訪問到. RestController 等同于 Controller ResponseBo…

UML建模圖文詳解教程01——Enterprise Architect的安裝與使用

版權聲明 本文原創作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl Enterprise Architect概述 官方網站&#xff1a;https://www.sparxsystems.cn/products/ea/&#xff1b;圖示如下&#xff1a; Enterprise Architect是一個全功能的、基于…

B033-Servlet交互 JSP

目錄 ServletServlet的三大職責跳轉&#xff1a;請求轉發和重定向請求轉發重定向匯總請求轉發與重定向的區別用請求轉發和重定向完善登錄 JSP第一個JSP概述注釋設置創建JSP文件默認字符編碼集 JSP的java代碼書寫JSP的原理三大指令九大內置對象改造動態web工程進行示例內置對象名…

2.HTML入門

目錄 一.HTML介紹 二.HTML常用標簽 2.1 標題標簽 2.2 段落標簽 2.3 超鏈接標簽 2.4 圖片標簽 2.5 換行與空格 2.6 布局標簽 2.7 列表標簽 2.8 表單標簽 一.HTML介紹 定義&#xff1a;將內容顯示在網頁&#xff0c;用來描述網頁的一種語言&#xff0c;負責網頁的架構…

Adiponectin 脂聯素 ; T-cadherin +exosome

T-cadherin Adiponectin exosome T-cadherin Adiponectin exosome 代謝綜合征中 外泌體、脂肪組織 和 脂聯素 的器官間通訊-2019.pdf

【華為OD】C卷真題 100%通過:數組去重和排序 C/C++實現

華為OD 數組去重和排序 C源碼實現&#xff0c;100%通過 目錄 題目描述&#xff1a; 示例1 代碼實現&#xff1a; 題目描述&#xff1a; 給定一個亂序的數組&#xff0c;刪除所有的重復元素&#xff0c;使得每個元素只出現一次&#xff0c;并且按照出現的次數從高到低進行排…