java 后台创建缩略图

通过Thumbnailator来解决问题:https://github.com/coobird/thumbnailator
maven引入:

<!-- https://mvnrepository.com/artifact/net.coobird/thumbnailator -->
<dependency>
    <groupId>net.coobird</groupId>
    <artifactId>thumbnailator</artifactId>
    <version>0.4.8</version>
</dependency>

使用方式:

/**
* @param standardImgPath 原图片path
* @param thumName 缩略图path
*/
private String storeThumbnail(String standardImgPath, String thumName) {
    File file = new File(standardImgPath);
    if(file!=null&&file.isFile()){
        try {
            File outFIle = new File(thumName);
            Thumbnails.of(file).size(100, 150).toFile(outFIle);
            return outFIle.getName();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return null;
}
如果你想在 Java 后台中接收多个图片,你可以使用如下方式: 1. 使用 HTTP 请求中的 `multipart/form-data` 类型。这是通常用于在 HTML 表单中上传文件的标准方式,也可以在 Java 后台中使用。你可以使用 Apache Commons FileUpload 库来解析这种类型的请求。 ```java // 首先需要创建一个 DiskFileItemFactory 对象来处理上传的文件 DiskFileItemFactory factory = new DiskFileItemFactory(); // 然后创建一个 ServletFileUpload 对象,并将其传递给 DiskFileItemFactory ServletFileUpload upload = new ServletFileUpload(factory); // 解析请求,获取文件项的列表 List<FileItem> items = upload.parseRequest(request); // 遍历文件项列表,检查是否是图片 for (FileItem item : items) { if (!item.isFormField()) { // 获取文件名 String fileName = item.getName(); // 读取文件内容 InputStream fileContent = item.getInputStream(); // 在这里可以将文件保存到数据库或本地文件系统中 } } ``` 2. 使用 Java 的 HttpURLConnection 类。这种方法可以使用 HTTP 协议来发送多个图片。 ```java // 创建 HttpURLConnection 对象 URL url = new URL("http://example.com/upload"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 设置请求方式为 POST conn.setRequestMethod("POST"); // 设置请求头 conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=---BOUNDARY"); conn.setDoOutput(true); // 创建输出流,并写入多个图片 OutputStream out = conn.getOutputStream(); for (int i = 0; i <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值