java图片上传代码_java 图片上传

这篇博客介绍了如何使用Java Spring Boot实现图片上传功能。通过`@CrossOrigin`、`@ApiOperation`等注解配置API,`@RequestParam`接收文件,并进行文件格式检查,将上传的图片保存到服务器指定路径。同时提供了两种不同的实现方式,确保文件不重复并处理文件已存在的场景。
摘要由CSDN通过智能技术生成

代码是最有力量的,嘎嘎

@CrossOrigin

@ApiOperation(value = "上传图片", notes = "上传图片", httpMethod = "POST")

@ApiImplicitParam(name = "file", value = "图片路径", required = true, dataType = "file")

@ResponseBody

@PostMapping("/uploadImage")

public ResultSet uploadImage(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request)

throws IOException {

// 上传的图片只允许是 png 或者jpg 中的格式

if (file.getOriginalFilename().contains(".png") || file.getOriginalFilename().contains(".jpg")) {

// 根据相对路径转化为真实路径

String rootpath = request.getSession().getServletContext().getRealPath(File.separator);// 获得web应用的绝对路径

File createFile = new File(rootpath + "/image/");

if (!createFile.exists()) {// 判断文件是否存在如果不存在则自动创建文件夹

createFile.mkdir();

}

//String uuid = IdGen.uuid() + "_";// 随机生成一个唯一性的id 确保apk文件重名

File f = new File(rootpath + "/image/" + file.getOriginalFilename());

if (f.exists()) {//上传的文件已经存在,则提示用户重新上传 apk 或者重命名

return ResultSet.getFail("文件已经存在,请重新上传或者重命名");

} else {

System.out.println(rootpath);

file.transferTo(f); // 将上传的文件写入到系统中

return ResultSet.getSuccess(rootpath +"/image/" + file.getOriginalFilename());

}

} else {

return ResultSet.getFail("上传文件失败");

}

}

另一种

@RequestMapping(value="/uploadPictures",method=RequestMethod.POST)

public Object uploadHeadPic(@RequestParam("file")CommonsMultipartFile file,InputStream inputStream,HttpServletRequest request) {

String uuid = UUID.randomUUID().toString().trim();

String fileN=file.getOriginalFilename();

int index=fileN.indexOf(".");

String fileName=uuid+fileN.substring(index);

try {

File fileMkdir=new File("F:\\photoTest");

if(!fileMkdir.exists()) {

fileMkdir.mkdir();

}

//定义输出流 将文件保存在D盘 file.getOriginalFilename()为获得文件的名字

FileOutputStream os = new FileOutputStream(fileMkdir.getPath()+"\\"+fileName);

InputStream in = file.getInputStream();

int b = 0;

while((b=in.read())!=-1){ //读取文件

os.write(b);

}

os.flush(); //关闭流

in.close();

os.close();

} catch (Exception e) {

return Result.getFail("图片上传失败);

}

return Result.getSuccess(fileN);

}

用到代码的小伙伴给我点个赞呀

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现Java图片上传处理的缩放功能,可以使用Java提供的ImageIO类和BufferedImage类。以下是一个简单的示例代码: ```java import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; public class ImageUtils { public static void resizeImage(File inputImage, File outputImage, int maxWidth, int maxHeight) throws Exception { BufferedImage input = ImageIO.read(inputImage); int width = input.getWidth(); int height = input.getHeight(); double ratio = (double) width / height; if (width > maxWidth || height > maxHeight) { if (width > height) { width = maxWidth; height = (int) (maxWidth / ratio); } else { height = maxHeight; width = (int) (maxHeight * ratio); } } BufferedImage output = new BufferedImage(width, height, input.getType()); Graphics2D g2d = output.createGraphics(); g2d.drawImage(input, 0, 0, width, height, null); g2d.dispose(); ImageIO.write(output, "jpg", outputImage); } } ``` 这个示例代码中,resizeImage()方法接收一个输入图片文件、一个输出图片文件、最大宽度和最大高度,然后对输入图片进行缩放处理,使其宽度和高度都不超过指定的最大值。缩放后的图片会保存到输出图片文件中。 使用时,可以像这样调用: ```java File inputFile = new File("input.jpg"); File outputFile = new File("output.jpg"); ImageUtils.resizeImage(inputFile, outputFile, 800, 600); ``` 这个示例代码只是一个简单的缩放示例,实际应用中还需要考虑更多的因素,例如图片格式、质量、裁剪等。但是使用Java提供的ImageIO和BufferedImage类,实现图片缩放功能还是比较容易的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值