zoukankan      html  css  js  c++  java
  • 上传图片

    前端代码:

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML>
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>单图片上传</title>
    </head>
    <body>
    <div style="color: red">
        <c:forEach items="${errs}" var="err">
            <div>${err}</div>
        </c:forEach>
    </div>
    
    <fieldset>
        <legend>图片上传</legend>
        <h2>只能上传单张10M以下的 PNG、JPG、GIF 格式的图片</h2>
        <form action="/shop/shop1" method="post" enctype="multipart/form-data">
            选择文件:<input type="file" name="ufile">
            <input type="submit" value="上传">
        </form>
    </fieldset>
    </body>
    </html>

    后台代码:

    @Controller
    @RequestMapping("/shop")
    public class ImgController {
    
        @RequestMapping(method = RequestMethod.GET)
        public String img() {
            return "img";
        }
    
        @PostMapping("/shop1")
        public String img(@RequestPart("ufile") MultipartFile file, Model model, HttpServletRequest req) {
            if (file.isEmpty()) {
                model.addAttribute("err", "不能为空");
                return "img";
            }
            //图片验证
            if (!file.getContentType().contains("image/")) {
                model.addAttribute("err", "只允许图片上传");
                return "img";
            }
            //图片大小只能为5M
            if (file.getSize() > 1024 * 1024 * 5) {
                model.addAttribute("err", "文件超出大小");
                return "img";
            }
    
            //路径
            String path = req.getServletContext().getRealPath("");
            path = path + "images\";
            File file1 = new File(path);
            if (!file1.exists()) {
                //如果不存在就创建
                file1.mkdirs();
            }
    
            String filename = file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf("."));
            filename = "upload_" + filename + "_" + new SimpleDateFormat("yyyy-MM-dd").format(new Date());
            filename = filename + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."), file.getOriginalFilename().length());
    
            try {
                file.transferTo(new File(path + "\" + filename));
            } catch (IOException e) {
                model.addAttribute("err", "文件上传失败,请重新上传");
            }
    
            return "img";
        }

  • 相关阅读:
    微信第三方登录,ios第三方登录(没有进行二次封装,直接调用)
    How Do I Declare A Block in Objective-C?
    Android与JS混编(js调用java)
    React-Native做一个文本输入框组件
    如何在程序退出的时候清除activity栈
    React react-ui-tree的使用
    React-Native OpenGL体验二
    React-Native OpenGL体验一
    react-native使用react-art制作SVG动画
    Android画一个随意拖动的圆形
  • 原文地址:https://www.cnblogs.com/nongzihong/p/10075391.html
Copyright © 2011-2022 走看看