|
版本X5.2.7
上传图片到tomcat某目录下,能否在此上传过程中把图片上传到文档服务器。
.j代码:
List<Map<String,Object>> resultList = new ArrayList<Map<String,Object>> ();
// F:\X5.2.7_dev\X5.2.7\apache-tomcat\webapps\images
String savePath = "F:/X5.2.7_dev/X5.2.7/apache-tomcat/webapps/images/";
// 请求信息中的内容是否是multipart类型
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
try {
// 解析form表单中所有文件
List<FileItem> items = upload.parseRequest(request);
Iterator<FileItem> iter = items.iterator();
while (iter.hasNext()) { // 依次处理每个文件
String fieldName = ""; // 表单字段元素的name属性值
FileItem item = (FileItem) iter.next();
if (item.isFormField()) { // 普通表单字段
fieldName = item.getFieldName(); // 表单字段的name属性值
if (fieldName.equals("user")) {
// 输出表单字段的值
System.out.println(item.getString("UTF-8")
+ "上传了文件。<br/>");
}
} else { // 文件表单字段
Map<String,Object> result = new HashMap();
String fileName = item.getName();
if (fileName != null && !fileName.equals("")) {
String url = "/images/";
// String url = String.format("?fileid=%s",
// item.selectSingleNode("./item[@key='fileID']/xbiz:simple").getText());
fieldName = java.util.UUID.randomUUID().toString(); // 采用时间+UUID的方式随即命名
String subfix = item.getName().split("\\.")[1];
fieldName += "." + subfix;
result.put("original", item.getName());
result.put("url", url+fieldName);
result.put("title", item.getName());
result.put("state", "SUCCESS");
resultList.add(result);
File saveFile = new File(savePath, fieldName);
item.write(saveFile);
}
}
}
response.getWriter().print(JSON.toJSON(resultList).toString());
} catch (Exception e) {
e.printStackTrace();
}
}
|
|