form图片上传+spring MVC

Spring MVC框架,页面通过form提交的:

Jsp代码:enctype="multipart/form-data"(必须加)

<form action=”” method=”” role="form" class="form-inline" id="host" enctype="multipart/form-data">

<input type="file" class="file-pos" name="doc" id="doc"  placeholder="132.77.94.235" data-mask="99-99-9999">

</form>

首先定义一个文件流的实体UploadDemoVo:这里的doc命名与jsp页面inputname命名一样

package com.hcycom.itm.preentity;

import org.springframework.web.multipart.MultipartFile;

public class UploadDemoVo {

   /**

     * 文件

     */

    private MultipartFile doc;

    @Override

    public String toString() {

        return "UploadDemoVo [doc=" + doc + "]";

    } 

   /* public boolean validateFile() throws ServiceException{      if(!ConstantUtil.fileTypeImg.contains(this.getDoc().getContentType())){

            throw new ServiceException("文件类型只能是jpegpng!");

        }

        if(this.getDoc().getSize() > 1000 * 100){

            throw new ServiceException("文件最大不能超过100KB!");

        }

        return true;

    }*/

public MultipartFile getDoc() {

return doc;

}

public void setDoc(MultipartFile doc) {

this.doc = doc;

}

}

 

Controller代码:UploadDemoVo doc(从页面取文件流)

 @RequestMapping(value="/hosts/createHost" , method = RequestMethod.POST)

public String createHost(HttpServletRequest request,PreHostObject hostObject,UploadDemoVo docthrows IllegalStateException, IOException {

     System.out.println("name:"+hostObject.getName());

     //图片添加

     if(doc.getDoc().getSize()!=0){

     String path = request.getServletContext().getRealPath("/flatlab/img/hostphoto");

     File tempFile = new File(path,String.valueOf(hostObject.getName())+".jpg");

     if (!tempFile.getParentFile().exists()) {

     System.out.println("文件夹不存在!!!创建文件夹");

            tempFile.getParentFile().mkdir();  

        }

     if (!tempFile.exists()) {

         System.out.println("图片不存在,创建图片!!!");

tempFile.createNewFile();

        }

     doc.getDoc().transferTo(tempFile);  

     }

try {

if (HostsService.createHost(hostObject)) {

return "redirect:/hosts/"+hostObject.getGroupids()+""

}else{

}

finally{

}

return "500";

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值