Example usage for com.liferay.portal.kernel.servlet ServletResponseUtil sendFile

List of usage examples for com.liferay.portal.kernel.servlet ServletResponseUtil sendFile

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.servlet ServletResponseUtil sendFile.

Prototype

public static void sendFile(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse,
            String fileName, InputStream inputStream, String contentType) throws IOException 

Source Link

Usage

From source file:com.liferay.blogs.web.internal.portlet.action.TrackbackMVCActionCommand.java

License:Open Source License

protected void sendResponse(ActionRequest actionRequest, ActionResponse actionResponse, String msg,
        boolean success) throws Exception {

    StringBundler sb = new StringBundler(7);

    sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
    sb.append("<response>");

    if (success) {
        sb.append("<error>0</error>");
    } else {/*from w w w.j  av a2  s.  c  o m*/
        sb.append("<error>1</error>");
        sb.append("<message>");
        sb.append(msg);
        sb.append("</message>");
    }

    sb.append("</response>");

    HttpServletRequest request = PortalUtil.getHttpServletRequest(actionRequest);
    HttpServletResponse response = PortalUtil.getHttpServletResponse(actionResponse);

    ServletResponseUtil.sendFile(request, response, null, sb.toString().getBytes(StringPool.UTF8),
            ContentTypes.TEXT_XML_UTF8);
}

From source file:com.liferay.journal.web.util.ExportArticleUtil.java

License:Open Source License

public void sendFile(String targetExtension, PortletRequest portletRequest, PortletResponse portletResponse)
        throws IOException {

    if (Validator.isNull(targetExtension)) {
        return;/*from www.  ja  v a2s  . c  om*/
    }

    long groupId = ParamUtil.getLong(portletRequest, "groupId");
    String articleId = ParamUtil.getString(portletRequest, "articleId");

    String languageId = LanguageUtil.getLanguageId(portletRequest);
    PortletRequestModel portletRequestModel = new PortletRequestModel(portletRequest, portletResponse);
    ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);
    HttpServletRequest request = _portal.getHttpServletRequest(portletRequest);
    HttpServletResponse response = _portal.getHttpServletResponse(portletResponse);

    JournalArticleDisplay articleDisplay = _journalContent.getDisplay(groupId, articleId, null, "export",
            languageId, 1, portletRequestModel, themeDisplay);

    int pages = articleDisplay.getNumberOfPages();

    StringBundler sb = new StringBundler(pages + 12);

    sb.append("<html>");

    sb.append("<head>");
    sb.append("<meta content=\"");
    sb.append(ContentTypes.TEXT_HTML_UTF8);
    sb.append("\" http-equiv=\"content-type\" />");
    sb.append("<base href=\"");
    sb.append(themeDisplay.getPortalURL());
    sb.append("\" />");
    sb.append("</head>");

    sb.append("<body>");

    sb.append(articleDisplay.getContent());

    for (int i = 2; i <= pages; i++) {
        articleDisplay = _journalContent.getDisplay(groupId, articleId, "export", languageId, i, themeDisplay);

        sb.append(articleDisplay.getContent());
    }

    sb.append("</body>");
    sb.append("</html>");

    InputStream is = new UnsyncByteArrayInputStream(sb.toString().getBytes(StringPool.UTF8));

    String title = articleDisplay.getTitle();
    String sourceExtension = "html";

    String fileName = title.concat(StringPool.PERIOD).concat(sourceExtension);

    String contentType = ContentTypes.TEXT_HTML;

    String id = DLUtil.getTempFileId(articleDisplay.getId(), String.valueOf(articleDisplay.getVersion()),
            languageId);

    File convertedFile = DocumentConversionUtil.convert(id, is, sourceExtension, targetExtension);

    if (convertedFile != null) {
        targetExtension = StringUtil.toLowerCase(targetExtension);

        fileName = title.concat(StringPool.PERIOD).concat(targetExtension);

        contentType = MimeTypesUtil.getContentType(fileName);

        is = new FileInputStream(convertedFile);
    }

    ServletResponseUtil.sendFile(request, response, fileName, is, contentType);
}

From source file:com.liferay.portlet.blogs.action.RSSAction.java

License:Open Source License

@Override
public ActionForward strutsExecute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    try {//w w  w .  j a  v a2s  . c o m
        ServletResponseUtil.sendFile(request, response, null, getRSS(request), ContentTypes.TEXT_XML_UTF8);

        return null;
    } catch (Exception e) {
        PortalUtil.sendError(e, request, response);

        return null;
    }
}

From source file:com.liferay.portlet.calendar.action.ExportEventsAction.java

License:Open Source License

@Override
public void processAction(ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
        ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    File file = null;/*from  w w  w.  j  ava2 s.co m*/

    try {
        ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

        long eventId = ParamUtil.getLong(actionRequest, "eventId");

        String exportFileName = ParamUtil.getString(actionRequest, "exportFileName");

        if (Validator.isNull(exportFileName)) {
            exportFileName = "liferay.ics";
        } else {
            exportFileName = FileUtil.getShortFileName(exportFileName);
        }

        if (eventId > 0) {
            file = CalEventServiceUtil.exportEvent(eventId);
        } else {
            file = CalEventServiceUtil.exportGroupEvents(themeDisplay.getScopeGroupId(), exportFileName);
        }

        HttpServletRequest request = PortalUtil.getHttpServletRequest(actionRequest);
        HttpServletResponse response = PortalUtil.getHttpServletResponse(actionResponse);

        ServletResponseUtil.sendFile(request, response, exportFileName, new FileInputStream(file),
                ContentTypes.TEXT_CALENDAR);

        setForward(actionRequest, ActionConstants.COMMON_NULL);
    } catch (Exception e) {
        _log.error(e, e);
    } finally {
        FileUtil.delete(file);
    }
}

From source file:com.liferay.portlet.dynamicdatalists.action.ExportRecordSetAction.java

License:Open Source License

@Override
public void serveResource(ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
        ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws Exception {

    HttpServletRequest request = PortalUtil.getHttpServletRequest(resourceRequest);
    HttpServletResponse response = PortalUtil.getHttpServletResponse(resourceResponse);

    ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY);

    long recordSetId = ParamUtil.getLong(resourceRequest, "recordSetId");

    DDLRecordSet recordSet = DDLRecordSetServiceUtil.getRecordSet(recordSetId);

    String fileExtension = ParamUtil.getString(resourceRequest, "fileExtension");

    String fileName = recordSet.getName(themeDisplay.getLocale()) + CharPool.PERIOD + fileExtension;

    DDLExportFormat exportFormat = DDLExportFormat.parse(fileExtension);

    DDLExporter exporter = DDLExporterFactory.getDDLExporter(exportFormat);

    byte[] bytes = exporter.export(recordSetId, WorkflowConstants.STATUS_APPROVED);

    String contentType = MimeTypesUtil.getContentType(fileName);

    ServletResponseUtil.sendFile(request, response, fileName, bytes, contentType);
}

From source file:com.liferay.portlet.journal.action.GetArticleAction.java

License:Open Source License

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    try {//from w  w w  .  java 2 s .co  m
        long groupId = ParamUtil.getLong(request, "groupId");
        String articleId = ParamUtil.getString(request, "articleId");

        String languageId = LanguageUtil.getLanguageId(request);

        JournalArticle article = JournalArticleServiceUtil.getLatestArticle(groupId, articleId,
                WorkflowConstants.STATUS_APPROVED);

        ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

        Map<String, String> tokens = JournalUtil.getTokens(groupId, themeDisplay);

        String xml = article.getContentByLocale(languageId);

        Document doc = SAXReaderUtil.read(xml);

        Element root = doc.getRootElement();

        addProcessingInstructions(doc, request, themeDisplay, article);

        JournalUtil.addAllReservedEls(root, tokens, article, languageId);

        xml = DDMXMLUtil.formatXML(doc);

        String contentType = ContentTypes.TEXT_XML_UTF8;

        String fileName = null;
        byte[] bytes = xml.getBytes();

        ServletResponseUtil.sendFile(request, response, fileName, bytes, contentType);

        return null;
    } catch (Exception e) {
        PortalUtil.sendError(e, request, response);

        return null;
    }
}

From source file:com.liferay.portlet.journal.action.GetArticleContentAction.java

License:Open Source License

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    try {//from ww w.jav a  2  s  .  co  m
        UploadServletRequest uploadServletRequest = PortalUtil.getUploadServletRequest(request);

        String xml = ParamUtil.getString(uploadServletRequest, "xml");

        xml = DDMXMLUtil.formatXML(xml);

        String fileName = "article.xml";
        byte[] bytes = xml.getBytes();

        ServletResponseUtil.sendFile(request, response, fileName, bytes, ContentTypes.TEXT_XML_UTF8);

        return null;
    } catch (Exception e) {
        PortalUtil.sendError(e, request, response);

        return null;
    }
}

From source file:com.liferay.portlet.journal.action.GetArticlesAction.java

License:Open Source License

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    try {/* ww w.ja  v  a  2 s  .  co  m*/
        List<JournalArticle> articles = getArticles(request);

        String fileName = null;
        byte[] bytes = getContent(request, articles);

        ServletResponseUtil.sendFile(request, response, fileName, bytes, ContentTypes.TEXT_XML_UTF8);

        return null;
    } catch (Exception e) {
        PortalUtil.sendError(e, request, response);

        return null;
    }
}

From source file:com.liferay.portlet.journal.action.GetLatestArticleContentAction.java

License:Open Source License

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    try {/*from  w w w . j  av a 2 s  .co m*/
        long groupId = ParamUtil.getLong(request, "groupId");
        String articleId = ParamUtil.getString(request, "articleId");

        String languageId = LanguageUtil.getLanguageId(request);

        JournalArticle article = JournalArticleServiceUtil.getLatestArticle(groupId, articleId,
                WorkflowConstants.STATUS_APPROVED);

        String fileName = "content.xml";
        byte[] bytes = article.getContentByLocale(languageId).getBytes();

        ServletResponseUtil.sendFile(request, response, fileName, bytes, ContentTypes.TEXT_XML_UTF8);

        return null;
    } catch (Exception e) {
        PortalUtil.sendError(e, request, response);

        return null;
    }
}

From source file:com.liferay.portlet.journal.action.GetStructureAction.java

License:Open Source License

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    try {/*from w  ww . j  a v  a2  s  . c om*/
        long groupId = ParamUtil.getLong(request, "groupId");
        String structureId = ParamUtil.getString(request, "structureId");

        JournalStructure structure = JournalStructureServiceUtil.getStructure(groupId, structureId, true);

        String fileName = null;
        byte[] bytes = structure.getXsd().getBytes();

        ServletResponseUtil.sendFile(request, response, fileName, bytes, ContentTypes.TEXT_XML_UTF8);

        return null;
    } catch (Exception e) {
        PortalUtil.sendError(e, request, response);

        return null;
    }
}