Spring中文件上传
基于Spring 的图片上传以及回显
<!-- 引入uploadify JS-->
<script type="text/javascript" src="/js/plugins/uploadify/jquery.uploadify.min.js" ></script>
<img alt="" src="" class="uploadImg">
<input type="hidden" name="img" value="" class="uploadName">
<script>
$(".image-div .js-upload").uploadify({
buttonText: "上传图片",
fileObjName: "image",
multi: true,
swf: '/js/plugins/uploadify/uploadify.swf',
uploader: '/uploadify/uploadify.do',
overrideEvents: ["onUploadSuccess", "onSelect"],
onUploadSuccess: function (file, data) {
$(".uploadImg").attr("src", data);
$(".uploadName").val(data);
}
});
</script>
后台控制器实现
/**
* 保存图片
*/
@RequestMapping("uploadify/uploadify")
@ResponseBody
private String uploadLogo(MultipartFile image) {
String fileName = UploadUtil.upload(image, servletContext.getRealPath("/upload"));
return "/upload/" + fileName;
}
/**
* 上传文件工具类
*/
public class UploadUtil {
/**
* @param file
* @param basePath 上传文件的路径,通常都是/upload
* @return
*/
public static String upload(MultipartFile file, String basePath){
String originalFilename = file.getOriginalFilename();
String fileName = UUID.randomUUID().toString()+"."+ FilenameUtils.getExtension(originalFilename);
try {
File targetFile = new File(basePath,fileName);
FileUtils.writeByteArrayToFile(targetFile,file.getBytes());
}catch (IOException e){
e.printStackTrace();
}
return fileName;
}
}