package com.msb.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
@Controller
public class FileController {
@RequestMapping("fileUpload.do")
@ResponseBody
public Map<String,String> addFile(MultipartFile headPhoto, HttpServletRequest request) throws IOException {
Map<String,String> map=new HashMap<String, String>();
/*控制文件大小*/
if (headPhoto.getSize()>1024*1024*5){
map.put("message","文件大小不能超过5m");
return map;
}
/*下面程序就有个问题:上传的图片不在项目的目录下*/
String realPath = request.getServletContext().getRealPath("/upload");
File dir=new File(realPath);
if (!dir.exists()){
dir.mkdirs();
}
/*fileName*/
String originalFilename = headPhoto.getOriginalFilename();
/*如果上传同一张照片会出现同明问题*/
String uuid = UUID.randomUUID().toString();
String lastName = originalFilename.substring(originalFilename.lastIndexOf("."));
if (!lastName.equals(".jpg")){
map.put("message","文件类型必须是jpg");
return map;
}
String newName=uuid.concat(lastName);
File file=new File(dir,newName);
headPhoto.transferTo(file);
map.put("message", "上传成功");
map.put("newFileName", newName);
map.put("filetype", headPhoto.getContentType());
return map;
}
}
在springmvc配置文件配置
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!--设置文件大小-->
<property name="maxUploadSizePerFile" value="10"></property>
</bean>
利用springmvc文件上传
最新推荐文章于 2024-10-04 12:19:51 发布