上传图片(文件)

今天做项目脑子有点浆糊,好了,就不多说了直接上代码

public void uploading(HttpServletRequest request, Message message, BindingResult result,
            @RequestParam(value = "files", required = false) MultipartFile multipartFile) {

        String realpath = "";
        // 获取文件名
        String name = "";
        String newName="";
        if (multipartFile != null) {
            //获取文件的大小
            long size = multipartFile.getSize();
            if (size > 1048576) {
                SUCCESS_TIP.setCode(-1000);
                SUCCESS_TIP.setMessage(BizExceptionEnum.UPLOAD_ERROR.getMessage());
            }
            //获取上传过来图片(文件)的名称
            name = multipartFile.getOriginalFilename();
            //截取名称 ,获取后缀
            String subffix = name.substring(name.lastIndexOf(".") + 1, name.length());
            //防止名称一致  重命名名称
            String fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
            //拼接全部名称 带后缀
            newName=fileName+"."+subffix;
            //long size = multipartFile.getSize();
            ////创建指定路径
            String filepath = request.getServletContext().getRealPath("/upload") + File.separator;
            File file = new File(filepath);
            //如果文件夹不存在就创建一个
            if (!file.exists()) {
                file.mkdirs();
            }

            try {
                // 转存文件到指定路径
                multipartFile.transferTo(new File(file + File.separator + fileName + "." + subffix));
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            //拼接成一个新的路径
            realpath = file + File.separator + fileName + "." + subffix;

        }
            message.setStatus("1");
            message.setPicture(newName);
            message.setPrictureAddress(realpath);
            message.setMegType("1");
            this.messageService.messageInsert(message);
    }
SpringMVC 用的是 的MultipartFile来进行文件上传 所以我们首先要配置MultipartResolver:用于处理表单中的file
<!-- 配置MultipartResolver 用于文件上传 使用spring的CommosMultipartResolver -->
    <beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
        p:defaultEncoding="UTF-8"
        p:maxUploadSize="5400000"
        p:uploadTempDir="fileUpload/temp"
     >
    </beans:bean>

其中属性详解:
defaultEncoding=”UTF-8” 是请求的编码格式,默认为iso-8859-1
maxUploadSize=”5400000” 是上传文件的大小,单位为字节
uploadTempDir=”fileUpload/temp” 为上传文件的临时路径

  • 使用SpringMVC注解RequestParam来指定表单中的file参数;
  • 指定一个用于保存文件的web项目路径;
  • 通过MultipartFile的transferTo(File dest)这个方法来转存文件到指定的路径;

虽然项目没有上传多个文件,但还是上网看了看,网上还是有写的好的,我这里就不贴上去了,免的献丑!(比较也还没做过多个文件上传 -,-)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值