/**
* 文件上传接口
*
*
*
*
* @param request
* @param response
* @return
*/
@SuppressWarnings({ "rawtypes", "unused", "deprecation" })
@RequestMapping("/uploadPic")
@ResponseBody
public String uploadPicFile(HttpServletRequest request,
HttpServletResponse response) {
ResponseObject result = new ResponseObject();
String time = "";
String sign = "";
// 调试开关,等于1时不校验签名与超时
String isdebug = "";
String accountNo = "";
String picRootPath = "";
String relativePicPath="";
String fileName = "";//
// fileName=request.getParameter("fileName");
String dateStr=DateHelper.getDateTimeByyyyyMMdd(new Date());
// String fileExt = "";
byte[] fileContent = null;
String path="";
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
// 构造一个文件上传处理对象
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setHeaderEncoding("UTF-8");
Iterator items;
try {
// 解析表单中提交的所有文件内容
items = upload.parseRequest(request).iterator();
while (items.hasNext()) {
FileItem item = (FileItem) items.next();
if (!item.isFormField()) {
// 取出上传文件的文件名称
String name = item.getName();
if(name==null){
return JsonHelper.toJson(new ResponseObject(CodeObject.PARAMETER_ERR.getCode(), CodeObject.PARAMETER_ERR.getName(), null));
}
if(!name.matches(Constant.IS_IMG)){
return JsonHelper.toJson(new ResponseObject(CodeObject.NOT_SOPORT_IMG.getCode(), CodeObject.NOT_SOPORT_IMG.getName(), null));
}
// logger.info("filename=========" + name);
// name=name.get
// 取得上传文件以后的存储路径
/*
* fileName = name.substring(name.lastIndexOf('\\') + 1,
* name.length()); int fileNameIndex =
* fileName.lastIndexOf(".");
*
* if (fileNameIndex != -1) { fileExt =
* fileName.substring(fileNameIndex, fileName.length());
* fileName = fileName.substring(0, fileNameIndex); }
*/
fileContent = item.get();
} else {
if (item != null && item.getFieldName() != null&& item.getFieldName().equals("fileName")) {
fileName = item.getString();
}
}
// 上传文件以后的存储路径
/*
* String fileUploadFolder = ConfigHelper
* .getConfigValue("fileUploadFolder"); if (fileUploadFolder
* == null || fileUploadFolder.equals("")) {
* fileUploadFolder = request.getRealPath("/"); }
*/
// BASE64Encoder encoder = new BASE64Encoder();
// fileName = encoder.encode(fileName.getBytes());
}
picRootPath = SystemConfigHelper.getUploadFilePathConfigValue();
// String loginfo="uid=" + accountNo + ","+"fileName=" + fileName + ", time" + time;
// ResultProxy checkProxy = CheckHelper.checkParams(fileUploadParams);
// if (!CheckHelper.isSuccess(checkProxy)) {
// result = Constants.setResultCodeAndInfoObj(result,
// Constants.ERRORCODE_PARAM_ERROR,
// checkProxy.getInfo());
// return JsonHelper.toJson(result);
// }
if(fileName==null){
return JsonHelper.toJson(new ResponseObject(CodeObject.NOT_SOPORT_IMG.getCode(), CodeObject.NOT_SOPORT_IMG.getName(), null));
}
fileName = URLEncoder.encode(fileName);
// 校验上传目录是存在,如果不存在,创建目录
// relativePicPath=accountNo+"/";
String picDicPath=picRootPath+Constant.BACKSLASH+dateStr+Constant.BACKSLASH;
File uploaderDirectory = new File(picDicPath);
if (!uploaderDirectory.exists()) {
uploaderDirectory.mkdirs();
}
fileName=System.currentTimeMillis()+fileName;
// String paths = filePath + File.separator + fileName + "_" +
relativePicPath=Constant.BACKSLASH+dateStr+Constant.BACKSLASH+ fileName;//返回客户端
path =picDicPath +fileName;;
MyLoggerManager.printInfo("file upload path " + path);
System.out.println(path);
// 上传文件
File uploaderFile = new File(path);
// item.write(uploaderFile);
FileOutputStream fw = new FileOutputStream(uploaderFile);
fw.write(fileContent);
fw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
// result = Constants.setResultCodeAndMsg(result,
// Constants.ERRORCODE_UPLOADFILE_ERROR);
return JsonHelper.toJson(result);
} catch (Exception e) {
e.printStackTrace();
// result = Constants.setResultCodeAndMsg(result,
// Constants.ERRORCODE_UPLOADFILE_ERROR);
return JsonHelper.toJson(result);
}
}
// result = Constants.setResultCodeAndMsg(result, Constants.OK);
result=new ResponseObject(CodeObject.SUCESS.getCode(),CodeObject.SUCESS.getName(), relativePicPath);
return JsonHelper.toJson(result);
}
头像上传-服务器端
最新推荐文章于 2024-05-12 14:17:20 发布