日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java基于spring boot本地上傳圖片示例解析

瀏覽:133日期:2023-08-26 11:45:53

前幾天項目中剛好需要上傳圖片的需求,當時想的是用七牛云,因為我用七牛云也用了好幾次,就是把圖片上傳到七牛云空間里面,數據庫里面保存的是這張上傳圖片的url地址 那么頁面訪問也就很方便,考慮到項目部署的環境我就用了本地上傳,不牽涉數據庫的操作。我就花了半個小時寫了個本地上傳圖片的小demo。非常的簡單。

下面是需要的依賴 pom.xml文件:

<?xml version='1.0' encoding='UTF-8'?> <project xmlns='http://maven.apache.org/POM/4.0.0' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd'> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>cn.com.sctic</groupId> <artifactId>upload</artifactId> <version>0.0.1-SNAPSHOT</version> <name>upload</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope> </dependency> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope> </dependency> </dependencies> <build> <plugins><plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId></plugin> </plugins> </build> </project>

控制器: UploadController

@Controller public class UploadController { private Logger logger = LoggerFactory.getLogger(this.getClass()); @Value('${scitc.upload.src}') private String rootPath; @Value('${scitc.upload.host}') private String uploadhost; @RequestMapping(value = '/uploadFile',method = {RequestMethod.POST,RequestMethod.GET}) @ResponseBody public String uploadFile(MultipartFile file) {//文件的完整名稱,如spring.jpeg String filename = file.getOriginalFilename(); //文件名,如spring String name = filename.substring(0,filename.indexOf('.')); //文件后綴,如.jpeg String suffix = filename.substring(filename.lastIndexOf('.'));//創建年月文件夾 Calendar date = Calendar.getInstance(); File dateDirs = new File(date.get(Calendar.YEAR) + File.separator + (date.get(Calendar.MONTH)+1));//目標文件 File descFile = new File(rootPath+File.separator+dateDirs+File.separator+filename); int i = 1; //若文件存在重命名 String newFilename = filename; while(descFile.exists()) {newFilename = name+'('+i+')'+suffix;String parentPath = descFile.getParent();descFile = new File(parentPath+File.separator+newFilename);i++; } //判斷目標文件所在的目錄是否存在 if(!descFile.getParentFile().exists()) {//如果目標文件所在的目錄不存在,則創建父目錄descFile.getParentFile().mkdirs(); } //將內存中的數據寫入磁盤 try {file.transferTo(descFile); } catch (Exception e) {e.printStackTrace();logger.error('上傳失敗,cause:{}',e); } //完整的url String fileUrl = uploadhost + rootPath +dateDirs+ '/'+newFilename; return 'success:' + fileUrl; } }

注意:rootPath,uploadhost是可以通過application.properties或者application.yml進行配置的。

由于要對外部資源進行映射需要創建一個類繼承WebMvcConfigurationSupport這個適配器,下面是WebMvcConfigurer的這個配置類,代碼如下:

@Configuration public class WebMvcConfigurer extends WebMvcConfigurationSupport { @Value('${scitc.upload.src}') private String src; @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler(src + '/**').addResourceLocations('file:' + src); } }

注意:這里的src也是從配置文件applicaiton.properties中得到了。

下面是application.properties配置:

server.port=8848 ##文件上傳config scitc.upload.host:127.0.0.1:${server.port} scitc.upload.src=/Users/jswzj/Desktop/uploads/ spring.servlet.multipart.maxFileSize=10MB spring.servlet.multipart.maxRequestSize=10MB server.port=8848 服務器的端口號 scitc.upload.host:服務器ip地址 + server.port scitc.upload.src:你要把用戶上傳的圖片上傳到那個位置**

最后我們訪問這個接口效果圖如下:

java基于spring boot本地上傳圖片示例解析

上傳成功后拿到這個url地址 粘貼到瀏覽器地址上就能訪問了

java基于spring boot本地上傳圖片示例解析

總結:圖片上傳有很多的方式,當然這個是根據業務的需求,很多人都喜歡把圖片的url上傳到數據庫中,用實體類來對圖片的高度、寬度、名稱、url進行封裝,我覺得如果你部署的那臺服務器是有網絡的環境下建議用七牛云上傳,七牛云上傳把圖片保存到七牛云空間,那個url地址是不會發生變化的,不會應為你項目的遷移或者服務器地址發生變化而受影響。看各自的需求吧。等有時間我會出一個七牛云上傳的demo讓大家學習。最后謝謝大家的支持,希望大家每天都要收獲。祝大家早日成為大神。

下面是這個demo的github的地址,希望大家fork,start一下,謝謝

https://github.com/zhoubiao188/springboot-upload

到此這篇關于java基于spring boot本地上傳圖片示例解析的文章就介紹到這了,更多相關spring boot本地上傳圖片內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
美女网站视频一区| 91精品国产自产精品男人的天堂| 中文字幕在线看片| 日韩精品一二区| 成人免费电影网址| 亚洲精品在线国产| 婷婷综合在线| 免费在线观看不卡| 欧美日韩精品免费观看视完整| 欧美日韩一区二区国产| 久久国产精品99国产| 美女少妇全过程你懂的久久| 国产精品成人自拍| 免播放器亚洲一区| 亚洲在线观看| 国产亚洲人成a在线v网站 | 欧美国产免费| 高清一区二区| 97精品中文字幕| 久久国产日本精品| 热三久草你在线| 亚洲精品午夜av福利久久蜜桃| 久久精品亚洲欧美日韩精品中文字幕| 欧美日韩一区二区国产| 久久精品午夜| 亚洲欧美视频| 99国产精品久久久久久久成人热| 国产精品美女久久久浪潮软件| 色综合视频一区二区三区日韩 | 日本天堂一区| 国产麻豆一区| 999国产精品999久久久久久| 亚洲国产日韩欧美在线| 免费日韩一区二区| 婷婷综合国产| se01亚洲视频| 美国三级日本三级久久99| 一区福利视频| 国产一精品一av一免费爽爽| 欧美+日本+国产+在线a∨观看| 亚洲精品激情| 国产一区二区三区91| 日韩精品亚洲aⅴ在线影院| 欧美精品中文字幕亚洲专区| 国产精品久久观看| 日韩久久精品网| 欧美日韩在线精品一区二区三区激情综合 | av高清不卡| 日韩欧美美女在线观看| 国产在线视频欧美一区| 一级成人国产| 国产亚洲毛片| 日韩国产网站| 国产高清精品二区| 在线一区免费| 亚洲精品欧美| 欧美日韩国产高清| 91精品亚洲| 亚洲图片久久| 亚洲国产成人精品女人| 日本久久黄色| 欧美极品一区二区三区| 亚洲aa在线| 丝袜美腿亚洲色图| 中文av在线全新| 国产精品成久久久久| 久久激情av| 国产日韩欧美一区在线| 日本v片在线高清不卡在线观看| 亚洲二区三区不卡| 欧美日韩国产一区精品一区| 97精品一区二区| 国产99在线| 欧美三级第一页| 国产精品白浆| 国产精品www994| 国产探花在线精品| 国产精品久久久久久妇女| 国产精品s色| 欧美日韩国产一区二区在线观看| 日韩欧美中文字幕电影| 国产一区二区三区探花| 国产资源在线观看入口av| 92国产精品| 伊人成人在线视频| 黄色成人精品网站| 免费在线观看一区二区三区| 先锋亚洲精品| 亚洲精品大全| 国产福利一区二区三区在线播放| 给我免费播放日韩视频| 国内精品伊人| 免费观看久久av| 国产精品一区二区三区四区在线观看| 国产精品九九| 久久美女性网| 国产精品香蕉| 久久精品亚洲人成影院| 日韩中文欧美在线| 成人在线免费观看91| 久久亚洲精品中文字幕蜜潮电影| 激情五月综合| 亚洲字幕久久| 国产在线观看91一区二区三区| 久久精品国产68国产精品亚洲| 秋霞影院一区二区三区| 日本不卡高清视频| 青青久久av| 国产欧美一区二区精品久久久 | av在线最新| 日本不卡不码高清免费观看| 久久精品欧美一区| 久久久久久色 | 欧美精品激情| 国产日产一区| 免费在线观看日韩欧美| 九九久久婷婷| 国产精品任我爽爆在线播放| 一本一本久久| 国产99精品一区| 成人午夜网址| 欧美日韩一区自拍| 日本а中文在线天堂| 国产精品videosex极品| 日韩三级一区| 最近国产精品视频| 制服诱惑一区二区| 亚洲不卡系列| 国产精品13p| 国产一区二区三区四区大秀| 国产欧美一区二区色老头| 欧美一级二级视频| 五月激激激综合网色播| 午夜亚洲福利在线老司机| 国产99精品| 伊人久久成人| 亚洲三级网站| 亚洲日本免费电影| 日韩高清国产一区在线| 日韩精品视频网| 青青草视频一区| 免费日韩一区二区三区| 九九久久国产| 中文字幕在线视频久| 国产成人免费av一区二区午夜| 福利在线免费视频| 久久国产亚洲| 亚洲欧美视频| 国产欧美日韩免费观看| 国产精品白浆| 日韩精品一卡| 日韩一区精品| 国产美女撒尿一区二区| 久久精品五月| 国产国产精品| 亚洲久久在线| 一区二区三区四区日本视频| 午夜欧美巨大性欧美巨大| 日本欧美不卡| 肉色欧美久久久久久久免费看| 欧美精品一二| 蜜臀av性久久久久蜜臀aⅴ流畅| 中文字幕日韩高清在线 | 精品一区欧美| 亚洲综合精品四区| 日韩一区网站| 国产福利电影在线播放| 蜜臀av国产精品久久久久| 日本一区二区高清不卡| 石原莉奈在线亚洲二区| 开心激情综合| 亚洲免费影院| 成人黄色av| 综合欧美精品| 成年男女免费视频网站不卡| 午夜精品亚洲| 日韩88av| 最近国产精品视频| 中文字幕系列一区| 欧美日韩一区自拍| 亚洲高清成人| 黄色av日韩| 日韩一区二区三区在线免费观看| 日韩欧美中文字幕在线视频| 日韩专区精品| 欧美精品影院| 免费久久久久久久久| 成人国产精品一区二区免费麻豆| 日本一不卡视频| 黄色av日韩| 色乱码一区二区三区网站| 欧美影院精品| 欧美在线观看天堂一区二区三区| 亚洲伊人精品酒店| 伊人久久亚洲影院| 你懂的国产精品永久在线| 日欧美一区二区| 免费观看在线综合| 国产亚洲福利| 免费人成黄页网站在线一区二区|