多图片上传之保存到不同的属性中

contorller层

/**
     * 添加促销商品
     *
     * @param files
     * @return
     */
    @RequestMapping(value = "insert", method = RequestMethod.POST)
    public Response insert(@RequestParam(defaultValue = "") MultipartFile[] files, HttpServletRequest request) {
        try {
            ZcbPromoteSales pts = new ZcbPromoteSales();
            pts.setJcsl(Integer.parseInt(request.getParameter("jcsl")));
            pts.setCxsl(Integer.parseInt(request.getParameter("cxsl")));
            pts.setMrxg(Integer.parseInt(request.getParameter("mrxg")));
            pts.setGoodsname(request.getParameter("goodsname"));
            pts.setPromotename(request.getParameter("promotename"));
            pts.setGoodsid(request.getParameter("goodsid"));
            pts.setStatus(request.getParameter("status"));

            List<String> paths = ImageUtil.uploadFiles(files, "D:/Project/zcbsys/zcbimage/");
            System.err.println("这是个啥!!!!!"+paths);


            return new Response(Response.NO_PERMISSION, Response.FAIL_MSG, "");

        } catch (Exception e) {
            return new Response(Response.NO_PERMISSION, Response.FAIL_MSG, e.getMessage());
        }
    }

重点代码

/**
     *
     * 多张/单张都可以用这个
     * 保存图片
     *
     * @param files<MultipartFile>
     *            要批量上传的文件
     * @param path
     *            图片保存的路径
     * @return "WRONG_FILE_EXTENSION"-错误的后缀, "FILE_EMPTY"-空文件 或者 保存后的绝对路径
     * @throws IOException
     */
    public static List<String> uploadFiles(MultipartFile [] files, String path) throws IOException {
        List<String> msgs = new ArrayList<>();
        if (files == null && files.length < 0) {
            msgs.add("file_empty");
            return msgs;
        }
        for (int i = 0; i < files.length; ++i) {
            MultipartFile file = files[i];
            if (!file.isEmpty()) {
                String filename = file.getOriginalFilename();
                String type = filename.indexOf(".") != -1
                        ? filename.substring(filename.lastIndexOf("."), filename.length())
                        : null;
                if (type == null) {
                    msgs.add("file_empty");
                    return msgs;
                }

                if (!(".PNG".equals(type.toUpperCase()) || ".JPG".equals(type.toUpperCase()))) {
                    msgs.add("wrong_file_extension");
                    return msgs;
                }
            }
        }
        for (int i = 0; i < files.length; ++i) {
            MultipartFile file = files[i];
            String filename = file.getOriginalFilename();
            String type = filename.indexOf(".") != -1 ? filename.substring(filename.lastIndexOf("."), filename.length())
                    : null;
            String filepath = path + UUID.randomUUID() + type;
            File filesPath = new File(path);
            if (!filesPath.exists()) {
                filesPath.mkdir();
            }
            BufferedOutputStream out = null;
            type = filepath.indexOf(".") != -1 ? filepath.substring(filepath.lastIndexOf(".") + 1, filepath.length())
                    : null;
            try {
                out = new BufferedOutputStream(new FileOutputStream(new File(filepath)));
                out.write(file.getBytes());
                msgs.add(filepath);
            } catch (Exception e) {
                // 没有上传成功
                e.printStackTrace();
            } finally {
                out.flush();
                out.close();
            }
        }
        return msgs;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值