图片上传实例

jsp:

1
2
3
4
5
6
<form action="/image/save.jhtml" method="post" enctype="multipart/form-data" style="width: 500px">
    <input type="hidden" name="focusId" value="${image.focusId}"/>
    <input type="hidden" name="type" value="${image.type}"/>
    <input type="file" name="imageFile"/>
    <input type="submit" value="上传"/>图片大小不能超过1M
</form>

 java:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
@RequestMapping("/image/save.jhtml")
public ModelAndView save(@RequestParam(value = "imageFile", required = false)
                         MultipartFile imageFile, HttpServletRequest request, ModelMap model, Image image) {
    HttpSession session = request.getSession(false);
    User logUser = (User) session.getAttribute(GoutripUtils.USER_CONTEXT);
    if (null == logUser)
        return new ModelAndView("redirect:/views/public/index.jsp");
    String name = logUser.getName();
    image.setUpdator(name);
    image.setCreator(name);
    image.setStatus(1);
    String fileName = imageFile.getOriginalFilename();
    String lastName = fileName.substring(fileName.lastIndexOf('.'));
    if (lastName.length() > 5)
        lastName = ".jpg";
    final File targetFile = PathUtil.getRandImgFile(lastName);
    final String filePath = targetFile.getPath();
    if (!targetFile.exists())
        targetFile.mkdirs();
    try {
        imageFile.transferTo(targetFile);
    } catch (IOException e) {
        e.printStackTrace();
    }
    final String finalLastName = lastName;
    new Thread(new Runnable() {
        @Override
        public void run() {
            String picTo = null;
            picTo = filePath.substring(filePath.lastIndexOf(".")) + "_1000x500" + finalLastName;
            ImageUtils.resize(filePath, picTo, 500, 1000, true);
        }
    }).start();
    String path = PathUtil.getRandImgFileUrl(targetFile);
    if (path.equals("/"))
        path = PathUtil.getImgFileUrl(targetFile.getPath());
    System.out.println(path);
    image.setUrl(path);
    imageService.save(image);
    if (null == model)
        model = new ModelMap();
    model.clear();
    model.put("focusId", image.getFocusId());
    model.put("type", image.getType());
    return new ModelAndView("redirect:/image/manager.jhtml").addAllObjects(model);
}

 

posted @   逍遥_时空  阅读(254)  评论(0编辑  收藏  举报
编辑推荐:
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
阅读排行:
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞
点击右上角即可分享
微信分享提示