Mercurial Hosting > nabble
comparison src/nabble/view/web/forum/UploadFile2.jtp @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children | 18cf4872fd7f |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:7ecd1a4ef557 |
---|---|
1 <% | |
2 package nabble.view.web.forum; | |
3 | |
4 import java.io.IOException; | |
5 import java.io.PrintWriter; | |
6 import java.util.Map; | |
7 import javax.servlet.ServletException; | |
8 import javax.servlet.http.HttpServlet; | |
9 import javax.servlet.http.HttpServletRequest; | |
10 import javax.servlet.http.HttpServletResponse; | |
11 import org.slf4j.Logger; | |
12 import org.slf4j.LoggerFactory; | |
13 import org.apache.commons.fileupload.FileItem; | |
14 import org.apache.commons.fileupload.FileUploadException; | |
15 import fschmidt.util.servlet.JtpContext; | |
16 import fschmidt.util.java.HtmlUtils; | |
17 import nabble.view.lib.Jtp; | |
18 import nabble.view.lib.Shared; | |
19 import nabble.model.FileUpload; | |
20 import nabble.model.Message; | |
21 import nabble.model.ModelException; | |
22 import nabble.model.User; | |
23 | |
24 public final class UploadFile2 extends HttpServlet { | |
25 private static final Logger logger = LoggerFactory.getLogger(UploadFile2.class); | |
26 | |
27 protected void service(HttpServletRequest request,HttpServletResponse response) | |
28 throws ServletException, IOException | |
29 { | |
30 User user = Jtp.getUser(request,response); | |
31 if( user==null ) { | |
32 Jtp.login("You must login to upload a file.",request,response); | |
33 return; | |
34 } | |
35 PrintWriter out = response.getWriter(); | |
36 %> | |
37 <html> | |
38 <body> | |
39 <script type="text/javascript"> | |
40 <% | |
41 try { | |
42 final Map<String,FileItem> map; | |
43 try { | |
44 map = Jtp.getFileItems(request); | |
45 } catch(FileUploadException e) { | |
46 logger.warn("",e); | |
47 throw ModelException.newInstance( "upload_filed", "upload failed - " + e.getMessage() ); | |
48 } | |
49 FileItem fi = map.get("file"); | |
50 char type = map.get("srcType").getString().charAt(0); | |
51 long id = Long.parseLong(map.get("srcId").getString()); | |
52 Message.Source src = Message.SourceType.getType(type).getSource(user.getSite(),id); | |
53 String name = FileUpload.uploadFile(fi,src); | |
54 JtpContext jtpContext = (JtpContext)getServletContext().getAttribute(JtpContext.attrName); | |
55 jtpContext.setTimeLimit(request,0L); | |
56 | |
57 if (map.containsKey("textAreaId")) { %> | |
58 parent.Nabble.uploadedFile("<%=name%>", "<%=map.get("textAreaId").getString()%>"); | |
59 <% } else { %> | |
60 parent.Nabble.uploadedFile("<%=name%>"); | |
61 <% } %> | |
62 parent.Nabble.closeWindows(); | |
63 <% | |
64 } catch(ModelException e) { | |
65 logger.warn("file upload failed",e); | |
66 %> | |
67 alert("<%=HtmlUtils.javascriptStringEncode(e.getMessage())%>"); | |
68 history.back(); | |
69 <% | |
70 } | |
71 %> | |
72 </script> | |
73 </body> | |
74 </html> | |
75 <% | |
76 } | |
77 } | |
78 %> |