java 将request中的文件以流的形式存入服务器本地
public String uploadFile(HttpServletRequest request) {
JSONObject resultObj = new JSONObject();
String message = null;
try {
String log_filePath = PropertiesUtil.getValue("log_filePath", "filePath.properties");
File log_file = new File(log_filePath);
if (!log_file.exists()) {
log_file.setWritable(true, false);
log_file.mkdirs();
}
String imei = request.getHeader("imei");
log_filePath = log_filePath + "/" + imei;
log_file = new File(log_filePath);
if (!log_file.exists()) {
log_file.setWritable(true, false);
log_file.mkdir();
}
String date = DateUtils.getDate();
log_filePath = log_filePath + "/" + date;
log_file = new File(log_filePath);
if (!log_file.exists()) {
log_file.setWritable(true, false);
log_file.mkdir();
}
String fileFileName = UUID.randomUUID().toString() + ".txt";
InputStream inStream = null;
FileOutputStream fo = null;
try {
inStream = request.getInputStream();
fo = new FileOutputStream(log_filePath + "/" + fileFileName);
byte[] a = new byte[1024];
int i = 0;
while ((i = inStream.read(a)) != -1) {
fo.write(a, 0, i);
fo.flush();
}
} catch (Exception ex) {
log.error("文件写入操作异常");
resultObj.put("code", 500);
resultObj.put("message", "文件写入操作异常");
message = resultObj.toString();
return AJAX;
} finally {
if (inStream != null) {
try {
inStream.close();
} catch (IOException e) {
log.error("文件写入操作异常");
resultObj.put("code", 500);
resultObj.put("message", "文件写入操作异常");
message = resultObj.toString();
return AJAX;
}
}
if (fo != null) {
try {
fo.close();
} catch (IOException e) {
log.error("文件写入操作异常");
resultObj.put("code", 500);
resultObj.put("message", "文件写入操作异常");
message = resultObj.toString();
return AJAX;
}
}
}
} catch (Exception e) {
log.error("上传文件异常", e);
resultObj.put("code", 500);
resultObj.put("message", "上传文件");
message = resultObj.toString();
}
return AJAX;
}