@RequestMapping(value = "kinduploadfile", method = RequestMethod.POST)
public @ResponseBody
JSONObject KindUploadFile(HttpServletRequest request,HttpServletResponse response)
throws FileUploadException {
response.setContentType("text/html;charset=UTF-8");
JSONObject obj = new JSONObject();
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = (cal.get(Calendar.MONTH)) + 1;
int day = cal.get(Calendar.DAY_OF_MONTH);
Map map = new HashMap();
String rootPath = "/upload/";
rootPath += year + "/" + month + "/" + day + "/";
String realRootPath = request.getServletContext().getRealPath(rootPath);
java.io.File f = new File(realRootPath);
if (f.exists() == false) {
f.mkdirs();
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest
.getFile("imgFile");// 这里是表单的名字,在swfupload.js中this.ensureDefault("file_post_name",
// "filedata");
try {
InputStream stream = file.getInputStream();
String oldfileName = file.getOriginalFilename();
String type = oldfileName.split("\\.")[1];// 获取文件类型
oldfileName = new String(oldfileName.getBytes(), "utf-8");
String filename = rootPath + sdf.format(new Date())
+ (int) ((Math.random() + 1) * 100000) + "." + type;
OutputStream bos = new FileOutputStream(request.getServletContext()
.getRealPath(filename));
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
bos.write(buffer, 0, bytesRead);
}
bos.close();
// close the stream
stream.close();
obj.put("url", filename);
obj.put("error",0);
} catch (Exception e) {
obj.put("error", "1");
obj.put("message", e.getMessage());
}
// 上传操作
return obj;
}