Mercurial Hosting > nabble
view src/nabble/view/web/forum/UploadFile2.java @ 19:18cf4872fd7f
remove anonymous posting
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Fri, 29 May 2020 22:58:25 -0600 |
parents | 7ecd1a4ef557 |
children |
line wrap: on
line source
package nabble.view.web.forum; import java.io.IOException; import java.io.PrintWriter; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import fschmidt.util.servlet.JtpContext; import fschmidt.util.java.HtmlUtils; import nabble.view.lib.Jtp; import nabble.view.lib.Shared; import nabble.model.FileUpload; import nabble.model.Message; import nabble.model.ModelException; import nabble.model.User; public final class UploadFile2 extends HttpServlet { private static final Logger logger = LoggerFactory.getLogger(UploadFile2.class); protected void service(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { User user = Jtp.getUser(request); if( user==null ) { Jtp.login("You must login to upload a file.",request,response); return; } PrintWriter out = response.getWriter(); out.print( "\r\n<html>\r\n <body>\r\n <script type=\"text/javascript\">\r\n " ); try { final Map<String,FileItem> map; try { map = Jtp.getFileItems(request); } catch(FileUploadException e) { logger.warn("",e); throw ModelException.newInstance( "upload_filed", "upload failed - " + e.getMessage() ); } FileItem fi = map.get("file"); char type = map.get("srcType").getString().charAt(0); long id = Long.parseLong(map.get("srcId").getString()); Message.Source src = Message.SourceType.getType(type).getSource(user.getSite(),id); String name = FileUpload.uploadFile(fi,src); JtpContext jtpContext = (JtpContext)getServletContext().getAttribute(JtpContext.attrName); jtpContext.setTimeLimit(request,0L); if (map.containsKey("textAreaId")) { out.print( "\r\n parent.Nabble.uploadedFile(\"" ); out.print( (name) ); out.print( "\", \"" ); out.print( (map.get("textAreaId").getString()) ); out.print( "\");\r\n " ); } else { out.print( "\r\n parent.Nabble.uploadedFile(\"" ); out.print( (name) ); out.print( "\");\r\n " ); } out.print( "\r\n parent.Nabble.closeWindows();\r\n " ); } catch(ModelException e) { logger.warn("file upload failed",e); out.print( "\r\nalert(\"" ); out.print( (HtmlUtils.javascriptStringEncode(e.getMessage())) ); out.print( "\");\r\nhistory.back();\r\n" ); } out.print( "\r\n</script>\r\n</body>\r\n</html>\r\n" ); } }