Skip to content

Commit 865fc9f

Browse files
committed
update file upload
1 parent 73f6552 commit 865fc9f

File tree

3 files changed

+27
-43
lines changed

3 files changed

+27
-43
lines changed

src/main/java/rml/controller/DocController.java

Lines changed: 22 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
11
package rml.controller;
22

33
import java.io.File;
4+
import java.util.Date;
45

6+
import javax.servlet.ServletContext;
57
import javax.servlet.http.HttpServletRequest;
68

79
import org.apache.commons.io.FileUtils;
810
import org.apache.log4j.Logger;
911
import org.springframework.beans.factory.annotation.Autowired;
1012
import org.springframework.stereotype.Controller;
1113
import org.springframework.web.bind.annotation.RequestMapping;
14+
import org.springframework.web.bind.annotation.RequestMethod;
15+
import org.springframework.web.bind.annotation.RequestParam;
1216
import org.springframework.web.bind.annotation.ResponseBody;
17+
import org.springframework.web.context.ServletContextAware;
1318
import org.springframework.web.context.request.RequestContextHolder;
1419
import org.springframework.web.context.request.ServletRequestAttributes;
20+
import org.springframework.web.multipart.commons.CommonsMultipartFile;
1521

1622
import rml.model.vo.DataGrid;
1723
import rml.model.vo.Doc;
@@ -21,39 +27,18 @@
2127

2228
@Controller
2329
@RequestMapping("/docController")
24-
public class DocController extends BaseController{
30+
public class DocController extends BaseController implements ServletContextAware{
2531

2632
private static final Logger logger = Logger.getLogger(DocController.class);
2733

2834
@Autowired
2935
private DocServiceI docService;
3036

31-
private File uploadFile;
32-
private String uploadFileFileName;
33-
private String uploadFileContentType;
37+
private ServletContext servletContext;
3438

35-
public File getUploadFile() {
36-
return uploadFile;
37-
}
38-
39-
public void setUploadFile(File uploadFile) {
40-
this.uploadFile = uploadFile;
41-
}
42-
43-
public String getUploadFileFileName() {
44-
return uploadFileFileName;
45-
}
46-
47-
public void setUploadFileFileName(String uploadFileFileName) {
48-
this.uploadFileFileName = uploadFileFileName;
49-
}
50-
51-
public String getUploadFileContentType() {
52-
return uploadFileContentType;
53-
}
54-
55-
public void setUploadFileContentType(String uploadFileContentType) {
56-
this.uploadFileContentType = uploadFileContentType;
39+
@Override
40+
public void setServletContext(ServletContext context) {
41+
this.servletContext = context;
5742
}
5843

5944
@RequestMapping("/doc")
@@ -127,32 +112,32 @@ public DataGrid datagrid(Doc doc) {
127112
return docService.datagrid(doc);
128113
}
129114

130-
@RequestMapping("/upload")
115+
@RequestMapping(value="/upload", method = RequestMethod.POST)
131116
@ResponseBody
132-
public Json upload(Doc doc) {
117+
public Json upload(Doc doc, @RequestParam("uploadFile") CommonsMultipartFile file) {
133118
Json j = new Json();
134-
try {
135-
String uploadFileFileNameWithoutSpace = uploadFileFileName.replaceAll(" ", "");
136-
//String realpath = ServletActionContext.getServletContext().getRealPath("/upload");
137-
HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
138-
String realpath = request.getSession().getServletContext().getRealPath("/upload");
139-
119+
120+
try {
121+
String realpath = this.servletContext.getRealPath("/upload");
122+
String uploadFileFileName = file.getOriginalFilename();
123+
String uploadFileFileNameWithoutSpace = uploadFileFileName.replaceAll(" ", "");
124+
String fileType = uploadFileFileNameWithoutSpace.substring(uploadFileFileNameWithoutSpace.lastIndexOf("."));
140125

141126
File targetFile = new File(realpath+File.separator, uploadFileFileNameWithoutSpace);
142127
if (targetFile.exists()) {
143128
targetFile.delete();
144129
}
145-
FileUtils.copyFile(uploadFile, targetFile);
146-
130+
file.getFileItem().write(targetFile);
147131
docService.upload(doc,uploadFileFileNameWithoutSpace);
148132

149133
j.setSuccess(true);
150134
j.setMsg("Upload manual successfully");
135+
151136
}catch (Exception e) {
152137
logger.error(ExceptionUtil.getExceptionMessage(e));
153138
j.setMsg("Upload manual unsuccessfully");
154139
}
140+
155141
return j;
156142
}
157-
158143
}

src/main/java/rml/service/impl/DocServiceImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public void save(Doc doc) {
3838

3939
@Override
4040
public void update(Doc doc) {
41+
4142
Tdoc d = docDao.get(Tdoc.class, doc.getCid());
4243
BeanUtils.copyProperties(doc, d, new String[]{"cmanual"});
4344
}
@@ -58,7 +59,7 @@ public void delete(String ids) {
5859
public void upload(Doc doc, String fileName) {
5960

6061
Tdoc d = docDao.get(Tdoc.class, doc.getCid());
61-
String manualUrl = "<a href='upload/" + fileName + "'>" + fileName + "</a>";
62+
String manualUrl = "<a href='../upload/" + fileName + "'>" + fileName + "</a>";
6263
d.setCmanual(manualUrl);
6364
}
6465

src/main/resources/spring-mvc.xml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,20 +35,18 @@
3535
p:prefix="/" p:suffix=".jsp" />
3636

3737
<!-- file upload -->
38-
<!--
3938
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
4039
<property name="defaultEncoding">
4140
<value>UTF-8</value>
4241
</property>
4342
<property name="maxUploadSize">
44-
<value>32505856</value>
43+
<value>104857600</value>
4544
</property>
4645
<property name="maxInMemorySize">
4746
<value>4096</value>
4847
</property>
49-
</bean>
50-
-->
51-
48+
</bean>
49+
5250
<!-- interceptor -->
5351
<mvc:interceptors>
5452
<mvc:interceptor>

0 commit comments

Comments
 (0)