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 %>