首页 > 编程语言 >java 获取前端上传的图片文件

java 获取前端上传的图片文件

时间:2024-05-22 09:56:53浏览次数:25  
标签:inputStream java String FilePath fileOut 前端 jobId null 上传


/**
* 获取上传图片
*/
@PostMapping("/getImage")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "获取图片", notes = "保存本地")
public R Stringuploadtaskpic(MultipartFile multipartFile, String jobId, HttpServletRequest request) throws IOException {

//region 获取上传图片
String fileName = multipartFile.getOriginalFilename();
System.out.println("完整文件名 = " + fileName);
InputStream inputStream = null;
FileOutputStream fileOut = null;
String UUID = StringUtil.getUUID();
String FilePath = null;
if (fileName != null) {
FilePath = LauncherConstant.IMAGE_FILE_ADDR + UUID + fileName.substring(fileName.lastIndexOf("."));
}
try {
inputStream = multipartFile.getInputStream();
if (FilePath != null) {
fileOut = new FileOutputStream(FilePath);
}else return R.success("已存在该文件");
IOUtils.copy(inputStream, fileOut);
String originalFilePath = supperMapper.selectImageAddr(jobId);
if (originalFilePath == null) {
supperMapper.insertImageAddr(jobId, FilePath);
} else {
File file = new File(originalFilePath);
if (file.exists() && file.isFile()) {
boolean flag = file.delete();
if (flag) {
supperMapper.updateImageAddr(jobId, FilePath);
} else return R.success("上传出错,请重新上传");
}
}
if (fileOut != null) {
fileOut.flush();
}
} catch (IOException e) {
log.info(e.getMessage());
} finally {
try {
if (inputStream != null) {
inputStream.close();
}
if (fileOut != null) {
fileOut.close();
}
} catch (IOException e) {
log.info(e.getMessage());
}
}
return R.success(jobId + "-" + UUID);
//endregion

}

标签:inputStream,java,String,FilePath,fileOut,前端,jobId,null,上传
From: https://www.cnblogs.com/Lee597/p/18205575

相关文章

  • Java计算百分比保留整数
    1.Java计算百分比保留整数的方法步骤在Java中计算百分比并保留整数,通常涉及以下步骤:(1)计算原始数值与基准数值的百分比(通常使用(原始数值/基准数值)*100的公式)。(2)使用Math.round()方法对得到的百分比进行四舍五入到最接近的整数。以下是一个详细的代码示例,它展示了如何......
  • .net webapi 处理前端请求跨域问题
    1.打开 Program.cs文件,在 varapp=builder.Build();语句前添加如下代码builder.Services.AddCors(o=>o.AddPolicy("any",p=>p.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod()));2.在varapp=builder.Build();语句后添加 app.UseCors();app.UseCors();......
  • 向Web服务器端上传文件
    server.pyimportflaskapp=flask.Flask(__name__)@app.route('/',methods=['GET','POST'])defuploadFile():msg=""try:if"fileName"inflask.request.values:fileName=fl......
  • Java基本数据类型
    Java有八种基本数据类型:byte、short、int、long、float、double、string、bool。1.整数类型整数类型有三种表示形式:十进制、八进制、十六进制十进制:120、0、-127注意:除了数字0,不能以0作为其他十进制数的开头。八进制:0123、-0123八进制数必须以0开头。十六进制:0x25、0Xb......
  • Java框架集成ES
    1、SpringData Elasticsearch框架集成1.1、SpringData框架基本介绍SpringData是一个用于简化数据库、非关系型数据库、索引库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持map-reduce框架和云计算数据服务。SpringData可以极大的简化JPA(El......
  • 【APIM】Azure APIM抛出 java.lang.RuntimeException 错误定位
    问题描述AzureAPIM服务日志中发现java.lang.RuntimeException错误,在进一步通过ApplicationInsights采集的错误信息日志,发现真实的请求错误为:‘Theremotenamecouldnotberesolved'xxxx.xxx.xx'"。 问题解答APIM服务,在没有配置自定义的DNS服务器时,默认会使用Azure平......
  • 学习前端第二周
    今天是学习前端第二周已经开始接触一些基础的编程语言,模仿已经写好的静态页面用相同的方法进行添加,同时也开始学习js的相关基础知识。以下是一些学习截图。......
  • js纯前端实现语音播报,朗读功能
    实现语音播报要有两个原生API分别是【window.speechSynthesis】【SpeechSynthesisUtterance】项目代码//执行函数letvoices,timerVoicestimerVoices=setInterval(()=>{voices=window.speechSynthesis.getVoices()if(voices.length){clearInter......
  • Java语言有哪些特点
    Java语言有以下主要特点:1.简单性:Java设计时简化了C++的一些复杂特性,比如没有指针,自动内存管理(垃圾回收)。它的语法接近C/C++,但移除了容易出错的部分,如运算符重载和多重继承。2.面向对象:Java是纯面向对象的语言,一切皆对象。支持类、接口、继承、封装、多态等面向对象特性。......
  • Spring中的“Unknown return value type: java.lang.Boolean“问题
    这个问题是关于方法返回值类型的,错误信息通常是这样的:java.lang.IllegalArgumentException:Unknownreturnvaluetype:java.lang.Boolean......