Mercurial > hg > LGServices
view src/main/java/de/mpiwg/gazetteer/rest/DownloadTabDelimited4File.java @ 102:6a508b605b5f
1. add new page : footer.jsp.
2. embed footer.jsp into other pages.
author | Calvin Yeh <cyeh@mpipw-berlin.mpg.com> |
---|---|
date | Fri, 29 Sep 2017 16:03:06 +0200 |
parents | a025dd907626 |
children |
line wrap: on
line source
package de.mpiwg.gazetteer.rest; import java.io.PrintWriter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletOutputStream; import org.apache.commons.lang.StringUtils; import org.json.JSONObject; import de.mpiwg.gazetteer.bo.LGFile; import de.mpiwg.gazetteer.utils.DataProvider; import de.mpiwg.gazetteer.utils.FileManager; import de.mpiwg.gazetteer.utils.HTTPUtils; public class DownloadTabDelimited4File extends AbstractServletMethod { public static String name = "downloadTabDelimited4File"; public static void execute(HttpServletRequest request, HttpServletResponse response) throws Exception{ Long fileId = getQueryLongParam(request, "fileId"); if(fileId != null){ LGFile file = DataProvider.getInstance().getFile(fileId); if(file != null){ String text = HTTPUtils.getTabDelimitedOfFile(fileId); // get text as tab-delimited file if(StringUtils.isNotEmpty(text)){ String filename = file.getFileName(); // "112_360452_360453_2015.09.04_12.43.08.924_11.txt"; //filename extension with csv filename = filename.substring(0, filename.length()-3); filename += "csv"; response.setContentType("text/csv; charset=UTF-8"); response.setHeader("Content-Disposition","attachment; filename=\"" + filename + "\""); byte[] csv = text.getBytes("UTF-8"); response.setContentLength( csv.length + 3 ); ServletOutputStream aOutputStream = response.getOutputStream(); /* Specify the BOM (Byte order Mask) for UTF-8 * so that Excel can identify the encoding and open it in the correct format * */ aOutputStream.write(new byte[] {(byte)0xef, (byte)0xbb, (byte)0xbf}); aOutputStream.write(csv); aOutputStream.flush(); aOutputStream.close(); } } else{ response.setContentType("application/json"); JSONObject json = new JSONObject(); json.put("status", "error"); json.put("message", "File no found (" + fileId + ")"); PrintWriter out = response.getWriter(); out.print(json.toString()); out.flush(); } }else{ response.setContentType("application/json"); JSONObject json = new JSONObject(); json.put("status", "error"); json.put("message", "Following parameters are mandatory: fileId."); PrintWriter out = response.getWriter(); out.print(json.toString()); out.flush(); } } }