java后端保存的本地图片通过ip+端口直接访问

直接上代码吧
 

package com.ydx.emms.datapro.controller;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.io.File;

/**
* @Description: 通过ip和端口直接查看图片
* @param
* @author zlw
* @date 2024/9/4 15:09
*/
@Configuration
public class TPicController implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        //虚拟url路径
        registry.addResourceHandler("/file/**")
                .addResourceLocations("file:" + System.getProperty("user.dir").replace(File.separatorChar, '/') + "/file/");
        //真实本地路径
    }
}

访问:http://127.0.0.1:端口/file/1.jpg

补充:从一个文件夹移动某一个文件到另一个文件夹

@RequestMapping(value = "/moveAlarmPic")
Result moveAlarmPic(HttpServletRequest request) {
    // 获取请求参数
    Map<String, Object> params = ParamUtil.getParams(request);
    String ip = MapUtils.getString(params, "ip");
    String time = MapUtils.getString(params, "time");
    // 参数判断
    if (ParamUtil.isOneEmpty(ip, time)) {
        return new Result("rest_ACK", Result.Code.ParamError.value(), false, "参数不正确,必填参数有为空");
    } else {
        //在告警文件夹下创建指定目录
        makeDir(ip);
        //移动指定的图片
        // 源文件路径
        Path sourcePath = Paths.get(System.getProperty("user.dir") + "/pic/" + ip+"/"+time+".jpg");
        Path sourcePathCsv = Paths.get(System.getProperty("user.dir") + "/pic/" + ip+"/"+time+".csv");
        // 目标文件夹路径
        Path destinationPath = Paths.get(System.getProperty("user.dir").replace(File.separatorChar, '/') + "/file/"+ip);
        // 目标文件完整路径
        Path targetPath = destinationPath.resolve(sourcePath.getFileName());
        Path targetPathCsv = destinationPath.resolve(sourcePathCsv.getFileName());
        try {
            // 复制图片
            Files.copy(sourcePath, targetPath, StandardCopyOption.REPLACE_EXISTING);
            //复制矩阵
            Files.copy(sourcePathCsv, targetPathCsv, StandardCopyOption.REPLACE_EXISTING);
            System.out.println("文件复制成功!");
            return new Result("rest_ACK", Result.Code.Success.value(), true);
        } catch (IOException e) {
            System.out.println("文件复制失败: " + e.getMessage());
            return new Result("rest_ACK", Result.Code.Success.value(), false);
        }
    }
}
/**
 * @param
 * @Description: 指定目录下创建文件夹
 * @author zlw
 * @date 2024/7/26 14:06
 */
public void makeDir(String dirName) {
    // 指定要创建的文件夹路径
    String directoryPath = System.getProperty("user.dir").replace(File.separatorChar, '/') + "/file/"+dirName;
    // 创建File对象
    File dir = new File(directoryPath);
    // 如果文件夹不存在,则创建文件夹
    if (!dir.exists()) {
        boolean result = dir.mkdir();
        if (result) {

            System.out.println("文件夹创建成功:" + directoryPath);
        } else {
            System.out.println("文件夹创建失败:" + directoryPath);
        }
    } else {
        System.out.println("文件夹已存在:" + directoryPath);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/873810.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】指针深入讲解(下)

目录 前言回调函数回调函数的概念回调函数的使用 qsort函数的使用和模拟实现qsort函数的介绍qsort函数的使用qsort函数模拟实现 前言 今天我们来学习指针最后一个知识点回调函数&#xff0c;这个知识点也很重要&#xff0c;希望大家能坚持学习下去。 没学习之前指针知识内容的…

光伏并网发电系统中电能质量监测与优化技术探讨

0引言 随着清洁能源技术的持续进步与广泛应用&#xff0c;光伏并网发电系统亦逐步崭露头角。作为一种关键的电力供应方式&#xff0c;其受到了广泛的关注。然而&#xff0c;由于天气等外部条件的影响&#xff0c;光伏发电系统面临若干挑战。电能质量问题&#xff0c;诸如电压波…

并网光伏发电系统对电网电能质量的影响

0引言 随着清洁能源技术的持续进步&#xff0c;光伏发电作为一种关键的可再生能源&#xff0c;正逐步成为电力系统不可或缺的组成部分。然而&#xff0c;将并网光伏发电系统与传统电网相连接&#xff0c;可能会对电网的电能质量造成一定影响&#xff0c;包括但不限于电压波动、…

ROS2 Nav2 - 模型预测路径积分控制器(MPPI)

系列文章目录 前言 这是一个预测控制器&#xff08;局部轨迹规划器&#xff09;&#xff0c;用于实现模型预测路径积分&#xff08;MPPI&#xff09;算法&#xff0c;以跟踪具有自适应避障功能的路径。它包含基于插件的 critic 函数&#xff0c;可影响算法的行为。它由 Aleksei…

大模型RAG实战|构建知识库:文档和网页的加载、转换、索引与存储

我们要开发一个生产级的系统&#xff0c;还需要对LlamaIndex的各个组件和技术进行深度的理解、运用和调优。本系列将会聚焦在如何让系统实用上&#xff0c;包括&#xff1a;知识库的管理&#xff0c;检索和查询效果的提升&#xff0c;使用本地化部署的模型等主题。我将会讲解相…

【OpenCV】灰度化和二值化处理图像

文章目录 1. 图像灰度化处理对比2. 代码示例3. 二值化处理 1. 图像灰度化处理对比 2. 代码示例 #include <opencv2/opencv.hpp> using namespace cv;int main() {Mat currentImage imread("path_to_image.jpg"); // 读取彩色图像Mat grayImage;// 将彩色图像…

STL-List常用接口

List常用接口 insert list<int>::iterator pos find(lt.begin(), lt.end(), 3); if (pos ! lt.end())lt.insert(pos, 30); for (auto e : lt)cout << e << " "; cout << endl; list的不会失效&#xff0c;而vector会失效。 erase后均会失…

asynMotorController控制器类

电机控制器的基类&#xff0c;实际的电机控制器从这个类派生 asynMotorController.h头文件 /* asynMotorController.h* 这个文件为asynMotorController定义了基类。* 真实电机控制器从这个类派生。它派生字PortDriver.*/ #ifndef asynMotorController_H #define asynMotorCont…

《Attention Is All You Need》论文导读

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl论文背景 《Attention Is All You Need》这篇具有里程碑意义的论文,彻底改变了自然语言处理(NLP)的研究和应用格局。在此之前,循环神经网络(RNN)及其变体,如长短期记忆网络(LSTM),是处理…

【原创】java+springboot+mysql学生信息管理系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…

内网穿透的应用-本地化部署Elasticsearch平替工具OpenObserve并实现无公网IP远程分析数据

文章目录 前言1. 安装Docker2. Docker镜像源添加方法3. 创建并启动OpenObserve容器4. 本地访问测试5. 公网访问本地部署的OpenObserve5.1 内网穿透工具安装5.2 创建公网地址 6. 配置固定公网地址 前言 本文主要介绍如何在Linux系统使用Docker快速本地化部署OpenObserve云原生可…

景联文科技:提供高质量多模态数据标注,推动智能化转型

随着人工智能技术的快速发展&#xff0c;多模态数据标注成为推动智能系统更深层次理解和应用的关键技术之一。 作为行业领先的多模态数据标注服务商&#xff0c;景联文科技凭借其在技术、流程和人才方面的综合优势&#xff0c;推出了全面的多模态标注解决方案&#xff0c;助力…

网上花店管理系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;客服聊天管理&#xff0c;基础数据管理&#xff0c;论坛交流管理&#xff0c;公告信息管理&#xff0c;用户管理&#xff0c;轮播图信息 微信端账号功能包括&#xff1a;系统首…

微波无源器件2 用于双极化波束形成网络的增强型双极化定向耦合器

摘要&#xff1a; 定向耦合器和混合相移器是用于实现波束形成网络的关键器件。通常一个波束形成网络用线极化和正交极化两个极化给天线馈电。双极化器件被用于降低波束形成网络的复杂性和尺寸。双极化定向耦合器由相同的作者提出。一种增强型的双极化耦合器在本文中提出。此器件…

【Java 优选算法】双指针(上)

欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 移动零 分析 代码 复写零 分析 代码 快乐数 分析 代码 盛最多水的容器 分析 代码 移动零 题目链接 分析 双指针算法,利用两个指针cur和dest将数组划分为三个区间…

基于Java的垃圾分类网站系统

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot框架&#xff0c;B/S架构 工具&#xff1a;MyEclipse, Tomcat 系统展示 首页 用户管理…

面试笔试 场景题(部分总结)

文章目录 题目--找出一堆随机数中的前 k 大数字PriorityQueue 类PriorityQueue 常用方法 题目--数组中的第 K 个最大元素题目--二叉搜索树中第 K 小的元素 题目–找出一堆随机数中的前 k 大数字 找出一堆随机数中的前 k 大数字(小根堆)&#xff0c;找出一堆随机数中的前 k 小数…

捷途山海T2纯电续航突破200km,直达208km!

若你向我询问“方盒子”造型的SUV该如何选择&#xff0c;我会毫不犹豫地推荐捷途山海T2。这款车型以其独特的硬派风格&#xff0c;在众多SUV中脱颖而出。不同于坦克300和北京BJ40的单一性格&#xff0c;捷途山海T2在双电机与高性能电池组的共同加持下&#xff0c;展现出了更为全…

大模型好书分享:《精通Transformer,从零开始构建最先进的NLP模型》(附PDF)

这本大模型书籍我已经上传CSDN&#xff0c;朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】 内容简介 国内第1本Transformer——变形金刚红书 如果一定要说未来谁能引领人工智能世界&#xff0c;是Transformer而非chatGPT&#xff01; 编…

python-新冠病毒

题目描述 假设我们掌握了特定时间段内特定城市的新冠病毒感染病例的信息。在排名 i 的当天有 i 个案例&#xff0c;即&#xff1a; 第一天有一例感染第二天有两例感染第三天有三例感染以此类推...... 请计算 n 天内的感染总数和每天平均感染数。 输入 整数 n 表示天数&…