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

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 {@Overridepublic 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);}
}

相关文章:

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.…...

2024 年高教社杯全国大学生数学建模竞赛B题4小问解题思路(第二版)

原文链接&#xff1a;https://www.cnblogs.com/qimoxuan/articles/18399415 问题 1&#xff1a;抽样检测方案设计 详细解题思路&#xff1a; 确定抽样检测目标&#xff1a;企业需要确定一个可接受的次品率上限&#xff08;标称值&#xff09;&#xff0c;以及在该次品率下&am…...

docker-nginx数据卷挂载

一、案例1-利用Nginx容器部署静态资源 1.1、需求: 创建Nginx容器&#xff0c; 修改nginx容器内的html目录下的index.html文件,查看变化将静态资源部署到nginx的html目录 1.2、修改html目录下的index.html文件,查看变化 因为docker运用得最小化系统环境&#xff0c;解决办法就…...

项目实战 ---- 商用落地视频搜索系统(8)---优化(2)---查询逻辑层优化

目录 背景 技术衡量与方案 一种可实现方案 可实现方案及设计描述 可能存在的问题 一种创新实现方案 方案的改良设计 策略公式 优化的实现 完整代码 代码解释 异常场景的考量 处理方式 运行注意事项 运行结果 结果优化对比与解释 背景 在项目实战 ---- 商用落地…...

山东大学机试试题合集

&#x1f370;&#x1f370;&#x1f370;高分篇已经涵盖了绝大多数的机试考点&#xff0c;由于临近预推免&#xff0c;各校的机试蜂拥而至&#xff0c;我们接下来先更一些各高校机试题合集&#xff0c;算是对前边学习成果的深入学习&#xff0c;也是对我们代码能力的锻炼。加油…...

餐厅食品留样管理系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;窗口负责人管理&#xff0c;窗口员工管理&#xff0c;冰柜管理&#xff0c;排班信息管理&#xff0c;留样食品管理&#xff0c;教育宣传管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统…...

亚马逊运营:如何提高亚马逊销量和运营效率?

不少亚马逊卖家们为了扩大业务规模和提高销量&#xff0c;会创建多个卖家账户来同时运营多个亚马逊店铺。问题是&#xff0c;这种多店铺运营模式并非没有风险——亚马逊运营的一个重要方面就是账户的健康管理。一旦某个账户出现问题&#xff0c;亚马逊的算法就可能会启动关联检…...

设计模式背后的设计原则和思想

设计模式背后的设计原则和思想是一套指导我们如何设计高质量软件系统的准则和方法论。这些原则和思想不仅有助于提升软件的可维护性、可扩展性和可复用性&#xff0c;还能帮助开发团队更好地应对复杂多变的需求。以下是一些核心的设计原则和思想&#xff1a; 1. 设计原则 设计…...

项目总体框架

一.后端&#xff08;包装servlet&#xff09; 使用BaseServlet进行请求的初步处理&#xff08;利用继承进行执行这个&#xff09; 在BaseServlet中 处理请求的类型找到对象的方法&#xff0c;并使用注解找到参数名&#xff0c;执行参数自动注入。 package com.csdn.controlle…...

k8s Prometheus

一、部署 Prometheus kubectl create ns kube-ops# 创建 prometheus-cm.yaml apiVersion: v1 kind: ConfigMap metadata:name: prometheus-confignamespace: kube-ops data:prometheus.yml: |global:scrape_interval: 15s # 表示 prometheus 抓取指标数据的频率&#xff0c;默…...

glsl着色器学习(九)屏幕像素空间和设置颜色

在上一篇文章中&#xff0c;使用的是裁剪空间进行绘制&#xff0c;这篇文章使用屏幕像素空间的坐标进行绘制。 上一篇的顶点着色器大概是这样子的 回归一下顶点着色的主要任务&#xff1a; 通常情况下&#xff0c;顶点着色器会进行一系列的矩阵变换操作&#xff0c;将输入的顶…...

前端框架有哪些?

前言 用户体验是每个开发网站的企业中的重中之重。无论后台有多方面的操作和功能&#xff0c;用户的视图和体验都必须是无缝的最友好的。这需要使用前端框架来简化交互式、以用户为中心的网站的开发。 前端框架是一种用于简化Web开发的工具&#xff0c;它提供了一套预定义的代…...

分类预测|基于黑翅鸢优化轻量级梯度提升机算法数据预测Matlab程序BKA-LightGBM多特征输入多类别输出 含对比

分类预测|基于黑翅鸢优化轻量级梯度提升机算法数据预测Matlab程序BKA-LightGBM多特征输入多类别输出 含对比 文章目录 一、基本原理BKA&#xff08;Black Kite Algorithm&#xff09;的原理LightGBM分类预测模型的原理BKA与LightGBM的模型流程总结 二、实验结果三、核心代码四、…...

利用大模型实时提取和检索多模态数据探索-利用 Indexify 进行文档分析

概览 传统的文本提取方法常常无法理解非结构化内容&#xff0c;因此提取数据的数据往往是错误的。本文将探讨使用 Indexify&#xff0c;一个用于实时多模态数据提取的开源框架&#xff0c;来更好地分析pdf等非结构化文件。我将介绍如何设置 Indexify&#xff0c;包括服务器设置…...

函数式接口实现策略模式

函数式接口实现策略模式 1.案例背景 我们在日常开发中&#xff0c;大多会写if、else if、else 这样的代码&#xff0c;但条件太多时&#xff0c;往往嵌套无数层if else,阅读性很差&#xff0c;比如如下案例&#xff0c;统计学生的数学课程的成绩&#xff1a; 90-100分&#…...

鸿蒙Next-拉起支付宝的三种方式——教程

鸿蒙Next-拉起支付宝的三种方式——教程 鸿蒙Next系统即将上线&#xff0c;应用市场逐渐丰富、很多APP都准备接入支付宝做支付功能&#xff0c;目前来说有三种方式拉起支付宝&#xff1a;通过支付宝SDK拉起、使用OpenLink拉起、传入支付宝包名使用startAbility拉起。以上的三种…...

Vue.js 组件化开发:父子组件通信与组件注册详解

Vue.js 组件化开发&#xff1a;父子组件通信与组件注册详解 简介&#xff1a; 在 Vue.js 的开发中&#xff0c;组件是构建应用的重要基础。掌握组件的创建与使用&#xff0c;尤其是父子组件的通信和组件的注册与命名&#xff0c;是开发中不可或缺的技能。本文将详细探讨这些内容…...

【HTTP、Web常用协议等等】前端八股文面试题

HTTP、Web常用协议等等 更新日志 2024年9月5日 —— 什么情况下会导致浏览器内存泄漏&#xff1f; 文章目录 HTTP、Web常用协议等等更新日志1. 网络请求的状态码有哪些&#xff1f;1&#xff09;1xx 信息性状态码2&#xff09;2xx 成功状态码3&#xff09;3xx 重定向状态码4&…...

Datawhale x李宏毅苹果书AI夏令营深度学习详解进阶Task03

在深度学习中&#xff0c;批量归一化&#xff08;Batch Normalization&#xff0c;BN&#xff09;技术是一种重要的优化方法&#xff0c;它可以有效地改善模型的训练效果。本文将详细讨论批量归一化的原理、实现方式、在神经网络中的应用&#xff0c;以及如何选择合适的损失函数…...

【机器学习】任务三:基于逻辑回归与线性回归的鸢尾花分类与波士顿房价预测分析

目录 1.目的和要求 1.1 掌握回归分析的概念和使用场景 1.2 掌握机器学习回归分析进行数据预测的有效方法 1.3 掌握特征重要性分析、特征选择和模型优化的方法 2.波士顿房价预测与特征分析 2.1第一步&#xff1a;导入所需的模块和包 2.2 第二步&#xff1a;加载波士顿房价…...

VSCode Remote SSH 一直转圈连不上服务器?踩坑全记录

VSCode Remote SSH 一直转圈连不上服务器&#xff1f;踩坑全记录环境&#xff1a;Ubuntu 服务器 / VSCode Remote SSH / Miniconda问题描述 VSCode 通过 Remote SSH 连接服务器时&#xff0c;一直显示"正在连接"&#xff0c;转圈转个没完&#xff0c;既不报错也不成功…...

郭老师-寒门难出贵子?真相与破局之道

寒门难出贵子&#xff1f; ——一个家族贫穷的真正根源**“寒门难出贵子&#xff0c; 不是命不好&#xff0c; 而是—— 整个家族被困在低维循环里。”&#x1f33f; 贫穷从来不是单一事件&#xff0c; 而是一套代际传递的认知系统、行为模式与能量结构。⚠️ 一、寒门困局的两…...

OpenClaw安全防护指南:Qwen2.5-VL-7B图文模型权限管理

OpenClaw安全防护指南&#xff1a;Qwen2.5-VL-7B图文模型权限管理 1. 为什么需要关注OpenClaw的安全防护&#xff1f; 上周我在调试一个自动整理照片的OpenClaw任务时&#xff0c;突然发现脚本试图删除我整个Documents文件夹——仅仅因为我随口说了句"把没用的文件清理掉…...

Qwen3-Reranker-0.6B效果展示:中英文跨语言语义重排惊艳案例集

Qwen3-Reranker-0.6B效果展示&#xff1a;中英文跨语言语义重排惊艳案例集 1. 模型能力概览 Qwen3-Reranker-0.6B 是阿里云通义千问团队推出的新一代文本重排序模型&#xff0c;专门为文本检索和排序任务设计。这个模型虽然只有0.6B参数&#xff0c;但在语义相关性判断方面表…...

新手友好:黑丝空姐-造相Z-Turbo镜像的详细操作步骤

新手友好&#xff1a;黑丝空姐-造相Z-Turbo镜像的详细操作步骤 你是不是对AI生成图片很感兴趣&#xff0c;特别是想试试那些能生成特定风格图片的模型&#xff1f;今天要介绍的这个“黑丝空姐-造相Z-Turbo”镜像&#xff0c;就是一个专门用于生成黑丝空姐风格图片的AI模型服务…...

Qwen-Audio歌唱语音识别效果展示

Qwen-Audio歌唱语音识别效果展示 1. 歌唱语音识别的独特挑战与突破 当我们在听一首歌时&#xff0c;大脑会自动分离出旋律、节奏、歌词和情感表达。但对AI模型来说&#xff0c;这却是个复杂得多的任务——它需要同时处理音高变化、节奏韵律、人声谐波特征&#xff0c;还要准确…...

为什么你的EventHandler仍触发装箱?C# 13 `ref delegate`与`unmanaged`委托语法(仅限.NET 8.0.3+ RTM)

第一章&#xff1a;为什么你的EventHandler仍触发装箱&#xff1f;C# 13 ref delegate与unmanaged委托语法&#xff08;仅限.NET 8.0.3 RTM&#xff09;即使在 .NET 8.0.3 RTM 中启用了 C# 13 的新委托特性&#xff0c;许多开发者仍观察到 EventHandler 回调中频繁发生值类型参…...

Fortitude Biomedicines宣布针对治疗中轴型脊柱关节炎的疾病驱动T细胞信号通路的领先项目

• 任命Rahul Patel博士为临床开发高级副总裁&#xff0c;不仅强化领导团队&#xff0c;还将为加速领先项目的临床开发提供关键支持Fortitude Biomedicines, Inc.&#xff08;以下简称“Fortitude”&#xff09;是一家领先的生物制药公司&#xff0c;专注于开发免疫细胞靶向生物…...

uv下载软件包

需要在项目根目录执行uv add 包名 否则找不到项目的.venv&#xff0c;会下载到终端的conda环境uv add openai...

MeteorSeed赐

这个代码的核心功能是&#xff1a;基于输入词的长度动态选择反义词示例&#xff0c;并调用大模型生成反义词&#xff0c;体现了 “动态少样本提示&#xff08;Dynamic Few-Shot Prompting&#xff09;” 与 “上下文长度感知的示例选择” 的能力。 from langchain.prompts imp…...