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

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

Spring boot集成Go-FastDFS實現圖片上傳刪除等功能實現

瀏覽:23日期:2023-05-20 13:42:10

一.背景

工作中接觸到需要采集并管理大量圖片的需求,本來是用的FastDFS,但是發現實際情況是在項目實施時難以找到linux服務器去安裝FastDFS,所以經過調研,選擇了可以在windows服務器上安裝部署的Go-FastDFS文件服務器

二.Go-FastDFS簡介

go-fastdfs是一個基于http協議的分布式文件系統,它基于大道至簡的設計理念,一切從簡設計,使得它的運維及擴展變得更加簡單,它具有高性能、高可靠、無中心、免維護等優點。

三.安裝Go-FastDFS文件服務器

1)下載地址:https://github.com/sjqzhang/go-fastdfs/releases

2)下載完成直接啟動fileserver.exe

Spring boot集成Go-FastDFS實現圖片上傳刪除等功能實現

3)驗證是否安裝成功,訪問localhost:8080

Spring boot集成Go-FastDFS實現圖片上傳刪除等功能實現

4)驗證上傳功能,點擊選擇文件選擇好文件后,點擊上傳

Spring boot集成Go-FastDFS實現圖片上傳刪除等功能實現

5)在返回的url后加?download=0,查看圖片

Spring boot集成Go-FastDFS實現圖片上傳刪除等功能實現

四.實例實現功能

1)圖片上傳2)圖片刪除3)圖片訪問4)圖片水印添加

五.創建Spring boot項目,寫代碼實現功能

1)pom.xml添加依賴

<!--工具包--> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>${hutool.version}</version> </dependency>

2)核心代碼,使用go-fastdhs上傳圖片并添加水印及刪除圖片工具類

@Componentpublic class GoFastdfsClientUtil { @Value('${camera.upload.path}') private String uploadPath; @Value('${camera.delete.path}') private String deletePath; private final Logger logger = LoggerFactory.getLogger(GoFastdfsClientUtil.class); /** * 圖片上傳 * * @param file * @param sixCode * @return * @throws IOException */ public UploadResult upload(MultipartFile file, String sixCode) throws IOException { UploadResult uploadResult = new UploadResult(); ByteArrayOutputStream bos = addWatermark(file, sixCode); byte[] b = bos.toByteArray(); ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(b); InputStreamResource isr = new InputStreamResource(byteArrayInputStream, file.getOriginalFilename()); Map<String, Object> params = new HashMap<>(); params.put('file', isr); params.put('path', 'image'); params.put('output', 'json'); // 場景 params.put('scene', 'image'); String resp = HttpUtil.post(uploadPath, params); Console.log('resp: {}', resp); JSONObject exJson = JSONObject.parseObject(resp); uploadResult = JSON.toJavaObject(exJson, UploadResult.class); return uploadResult; } /** * 圖片刪除 * * @param fileUrl */ public void deleteImage(String md5) { if (StringUtils.isEmpty(md5)) { return; } try { Map<String, Object> params = new HashMap<>(); params.put('md5', md5); HttpUtil.post(deletePath, params); } catch (Exception e) { logger.warn(e.getMessage()); } } /** * 加水印 * * @param myfile * @param sixCode * @return * @throws IOException */ private ByteArrayOutputStream addWatermark(MultipartFile myfile, String sixCode) throws IOException { InputStream in = myfile.getInputStream(); BufferedInputStream bis = new BufferedInputStream(in); BufferedImage image = ImageIO.read(bis); int height = image.getHeight(); int width = image.getWidth(); // 加水印 Graphics2D g = image.createGraphics(); g.drawImage(image, 0, 0, width, height, null); g.setColor(new Color(128, 128, 128)); // 字體 int num = 0; if (width > height) { num = height / 30; } else { num = width / 30; } g.setFont(new Font('微軟雅黑', Font.PLAIN, num)); SimpleDateFormat formatter = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss'); String date = formatter.format(new Date()); String watermarkContent = '拍攝時間:' + date + '&攝像頭編碼:' + sixCode; // 設置水印坐標 String[] split = watermarkContent.split('&'); int x = 10; int y = height - 10; for (int i = 0; i < split.length; i++) { g.drawString(split[i], x, y -= g.getFontMetrics().getHeight()); } g.dispose(); ByteArrayOutputStream bos = new ByteArrayOutputStream(); ImageIO.write(image, 'jpg', bos); return bos; }}

解釋:這里我們事先在配置文件中配置好了文件的上傳路徑以及刪除路徑,配置如下:

camera: upload: path: http://localhost:8080/group1/upload delete: path: http://localhost:8080/group1/delete visit: path: http://localhost:8080

3)上面的方法中我們將圖片上傳后的返回值轉換為結果集對象,對象定義如下:

public class UploadResult implements Serializable{/** * */private static final long serialVersionUID = 5534287808864118463L;private String url;private String md5;private String path;private String domain;private String scene;private BigInteger size;private BigInteger mtime;private String scenes;private String retmsg;private int retcode;private String src;......get,set方法.....}

4)在實際應用中編寫控制層方法調用核心工具類的上傳,刪除方法即可

總結:本次總結主要描述了spring boot集成go-fastdfs上傳圖片的核心方法,沒有具體的測試展示,其實go-fastdfs的使用很簡單,接口編寫也很簡單

到此這篇關于Spring boot集成Go-FastDFS實現圖片上傳刪除等功能實現的文章就介紹到這了,更多相關Spring boot集成Go-FastDFS圖片上傳刪除內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩综合精品| 色婷婷色综合| 久久影院一区| 成人羞羞视频播放网站| 伊人网在线播放| 亚洲一级少妇| 欧美成人综合| 免费不卡在线视频| 亚洲资源网站| 日韩不卡一区二区| 欧美日本精品| 精品国产亚洲一区二区三区在线| 久久国内精品| 精品一区二区三区四区五区| 毛片在线网站| 在线一区免费| 亚洲精品乱码| 久久精品亚洲| 久久精品在线| 亚洲丝袜美腿一区| 97精品资源在线观看| 欧美激情综合| av在线日韩| 亚洲一区成人| 国产精品调教视频| 青青青免费在线视频| 亚洲电影在线一区二区三区| 中文一区一区三区免费在线观| 日本一区免费网站| 国产精品一区三区在线观看| 精品国产美女a久久9999| 香蕉久久99| 日韩综合一区二区| 欧美aⅴ一区二区三区视频| 色婷婷久久久| 亚洲伊人影院| 久久久亚洲欧洲日产| 欧美激情一区| 亚洲欧美视频| 秋霞影视一区二区三区| 欧美久久精品一级c片| 在线一区二区三区视频| 99xxxx成人网| 青青国产91久久久久久| 日本一不卡视频| 久久国产欧美日韩精品| 奇米狠狠一区二区三区| 久久精品av麻豆的观看方式| 亚洲人成在线影院| 精品三级在线| 午夜宅男久久久| 国产精品videosex极品| 国精品一区二区三区| 国产日韩一区二区三区在线播放| 免费观看亚洲| 日韩精选在线| 久久亚洲国产| 婷婷综合福利| 日韩毛片视频| 日本a口亚洲| 蜜桃国内精品久久久久软件9| 亚洲爱爱视频| 美女网站久久| 国产免费久久| 影音先锋久久| 精品精品国产三级a∨在线| 免费成人性网站| 亚洲天堂一区二区| 久久国产欧美日韩精品| 欧美精品一区二区久久| 九九久久国产| 综合色就爱涩涩涩综合婷婷| 成人午夜在线| 日韩精品一区二区三区av | 亚洲一区有码| 久久一区二区三区喷水| 国产精品4hu.www| 亚洲精品亚洲人成在线观看| 久久精品动漫| 精品久久久久中文字幕小说| 日本欧美一区二区| 国产精品三上| 亚洲午夜视频| 蜜臀久久精品| 美女视频免费精品| 在线精品观看| 欧洲激情综合| 日韩毛片在线| 成人在线丰满少妇av| 免费日韩成人| 欧美日韩一区二区三区在线电影| 免费人成黄页网站在线一区二区| 在线日韩欧美| 在线观看精品| 国产成人精品免费视| 国产精品va| 国产欧美丝祙| 日本精品另类| 日韩av中文字幕一区| 一区二区高清| 蜜臀91精品一区二区三区| 久久国产主播| 日韩综合精品| 精品一区二区三区四区五区| 欧美亚洲国产日韩| 久久免费黄色| 免费在线观看一区| 国产亚洲高清一区| 日韩一区中文| 日本久久二区| 综合欧美精品| 在线免费观看亚洲| 日韩精品一二区| 男人的天堂亚洲一区| 在线一区免费观看| 噜噜噜躁狠狠躁狠狠精品视频| 国产精品麻豆久久| 精品三级av| 麻豆视频在线观看免费网站黄 | 日韩国产一区二| 日韩精品五月天| 少妇精品久久久| 日韩高清不卡在线| 国产亚洲欧美日韩在线观看一区二区| 日韩综合一区二区| 欧美亚洲国产日韩| 国产精品天天看天天狠| 麻豆精品视频在线观看视频| 久久精品网址| 久久这里只有精品一区二区| 国产精品二区影院| 国内自拍视频一区二区三区| 电影91久久久| 日韩免费视频| 婷婷成人基地| 免费在线观看一区二区三区| 亚洲1区在线观看| 国产欧美日韩亚洲一区二区三区| 免费日韩成人| 日韩国产专区| 欧美中文字幕| 欧美日韩xxxx| 亚洲永久av| 99精品99| 日韩美女国产精品| 欧美国产日韩电影| 蜜臀久久精品| 久久成人精品| 国产欧美日韩视频在线| 四虎8848精品成人免费网站| 久久中文视频| 日韩欧美中文字幕在线视频| 国产精品成人一区二区网站软件| 欧美国产偷国产精品三区| 国产91一区| 亚欧洲精品视频在线观看| 久久这里只有| 午夜久久99| 欧美日本二区| 伊人久久在线| 亚洲一区不卡| 国产激情精品一区二区三区| 久久久国产亚洲精品| 中文一区一区三区免费在线观 | 久久精品国产精品亚洲毛片| 精品国产精品久久一区免费式 | 久久只有精品| 99久久99久久精品国产片果冰| 欧美资源在线| 久久亚州av| 国产视频久久| 精品亚洲成人| 石原莉奈在线亚洲二区| 国产伦理久久久久久妇女| 国产+成+人+亚洲欧洲在线| 精品中文字幕一区二区三区av| 日韩1区2区3区| 午夜精品久久久久久久久久蜜桃| 日韩在线一二三区| 国产videos久久| 欧美专区在线| 精品久久久亚洲| 三级在线观看一区二区| 黄色网一区二区| 只有精品亚洲| 国产拍在线视频| 日本不卡不码高清免费观看| 日韩深夜视频| 日韩av二区在线播放| 中文精品电影| 精品视频国内| 国产精品最新| 日本免费新一区视频| 亚洲免费资源| 97精品一区| 深夜福利一区| 在线视频观看日韩| 国产精品久久久久77777丨 | 麻豆极品一区二区三区| 久久电影一区|