多图上传类:
@Controller
public class UploadPicController extends BaseController {
/**
* 上传图片
* @return
* @throws Exception
*/
@RequestMapping(value="uploadPic",produces="application/json;charset=UTF-8",method=RequestMethod.POST)
@ResponseBody
public void uploadPic(Integer picType) throws Exception{
MultipartHttpServletRequest MultipartRequest = (MultipartHttpServletRequest) this.request;
MultipartFile file = null;
if(picType == null){
file = MultipartRequest.getFile("picfile");
}else{
if(picType==1){
file = MultipartRequest.getFile("picfile1");
} else if(picType==2) {
file = MultipartRequest.getFile("picfile2");
} else if(picType==3){
file = MultipartRequest.getFile("picfile3");
} else if(picType==4){
file = MultipartRequest.getFile("picfile4");
} else {
picType=1;
file = MultipartRequest.getFile("picfile");
}
}
String fileName = file.getOriginalFilename();
long size = file.getSize();
DecimalFormat df = new DecimalFormat("#0.00");
double dd = (double)size;
String format = df.format(dd/1024/1024);
String suffix = fileName.substring(fileName.lastIndexOf(".") + 1);
List<String> fileTypeList = Arrays.asList(Constants.FILETYPE_IMG);
Map<String, Object> map = new HashMap<String, Object>();
if (!fileTypeList.contains(suffix)) {// 文件格式不对
map.put("error", "error_type");
printOutMsg(JsonMapper.toJson(map));
}
if (size > Constants.FILESIZE_IMG) {// 文件太大
map.put("error", "error_size");
printOutMsg(JsonMapper.toJson(map));
}
map.put("picType", picType);
String upload_path = "";
try {
upload_path = UploadTools.uploadFile(file.getBytes(), suffix);
} catch (Exception e) {
e.printStackTrace();
UploadTools.deleFileByFilePath(upload_path);
}
map.put("path", upload_path);
map.put("type",suffix);
map.put("size",format);
// map.put("path", "http://file1.infobigdata.com/group1/M00/00/BD/rBAKbljvOT6TAKxcAARmcil0MfY837.png");
printOutMsg(JsonMapper.toJson(map));
}
多图上传的jsp
<%@ page language="java" import="java.util.*" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="str" uri="http://www.bigdata.com/jstl/string"%>
<%@page import="org.apache.commons.lang.math.NumberUtils"%>
<%@ page import="com.bigdata.catchs.common.Constants"%>
<html lang="zh-cn">
<head>
<title>SWFUpload</title>
<link href="/plugins/SWFUploadv2.2.0/css/default.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="/plugins/SWFUploadv2.2.0/swfupload/swfupload.js"></script>
<script type="text/javascript" src="/plugins/SWFUploadv2.2.0/js/swfupload.queue.js"></script>
<script type="text/javascript" src="/plugins/SWFUploadv2.2.0/js/fileprogress.js"></script>
<script type="text/javascript" src="/plugins/SWFUploadv2.2.0/js/handlers.js"></script>
<script type="text/javascript">
var swfu;
window.onload = function() {
var settings = {
flash_url : "/plugins/SWFUploadv2.2.0/swfupload/swfupload.swf",
upload_url: "/uploadPic",
use_query_string: true,
file_post_name : "picfile",
file_size_limit : "100 MB",
file_types : "*.*",
file_types_description : "All Files",
file_upload_limit : 10, //配置上传个数
file_queue_limit : 0,
custom_settings : {
progressTarget : "fsUploadProgress",
cancelButtonId : "btnCancel"
},
debug: false,
// Button settings
button_image_url: "/plugins/SWFUploadv2.2.0/images/TestImageNoText_65x29.png",
button_width: "65",
button_height: "29",
button_placeholder_id: "spanButtonPlaceHolder",
button_text: '<span class="theFont">浏览</span>',
button_text_style: ".theFont { font-size: 16; }",
button_text_left_padding: 12,
button_text_top_padding: 3,
file_queued_handler : fileQueued,
file_queue_error_handler : fileQueueError,
file_dialog_complete_handler : fileDialogComplete,
upload_start_handler : uploadStart,
upload_progress_handler : uploadProgress,
upload_error_handler : uploadError,
upload_success_handler : uploadSuccess,
upload_complete_handler : uploadComplete,
queue_complete_handler : queueComplete
};
swfu = new SWFUpload(settings);
};
</script>
</head>
<body>
<div id="header">
<h1 id="logo"><a href="/">SWFUpload</a></h1>
<div id="version">v2.2.0</div>
</div>
<div id="content">
<form id="form1" action="" method="post" enctype="multipart/form-data">
<p>点击“浏览”按钮,选择您要上传的文档文件后,系统将自动上传并在完成后提示您。</p>
<p>请勿上传包含中文文件名的文件!</p>
<div class="fieldset flash" id="fsUploadProgress">
<span class="legend">快速上传</span>
</div>
<div id="divStatus">0 个文件已上传</div>
<div>
<span id="spanButtonPlaceHolder"></span>
<input id="btnCancel" type="button" value="取消所有上传" οnclick="swfu.cancelQueue();" disabled="disabled" style="margin-left: 2px; font-size: 8pt; height: 29px;" />
</div>
</form>
</div>
</body>
</html>