/////////////////////////////////////////////////////////////////////////////
//
// Project ProjectForge Community Edition
// www.projectforge.org
//
// Copyright (C) 2001-2014 Kai Reinhard (k.reinhard@micromata.de)
//
// ProjectForge is dual-licensed.
//
// This community edition is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as published
// by the Free Software Foundation; version 3 of the License.
//
// This community edition is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
// Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this program; if not, see http://www.gnu.org/licenses/.
//
/////////////////////////////////////////////////////////////////////////////
package org.projectforge.web.imagecropper;
import java.io.IOException;
import java.io.InputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.lf5.util.StreamUtils;
import org.projectforge.web.core.ResponseUtils;
/**
* Up-/ und Download des Bildes als ByteArray um das Bild auf dem lokalen Rechner zu speichern. <br/>
*
* Servlet Funktion: Up-/ und Download der Daten als ByteArray. <br/>
*
* Wird benötigt um Bild auf lokalem Rechner zu speichern.
*/
public class UpAndDownloadImageFileAsByteArray extends HttpServlet
{
private static final long serialVersionUID = 1244641220486001809L;
private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(UpAndDownloadImageFileAsByteArray.class);
protected void doPost(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException
{
log.debug("Start doPost");
try {
// Inputstream
final InputStream is = request.getInputStream();
final byte[] buffer = StreamUtils.getBytes(is);
String filename;
String croppedname;
if (request.getParameter("croppedname") != null) {
croppedname = request.getParameter("croppedname");
} else {
croppedname = "cropped";
}
if ((request.getParameter("filename") != null) && (request.getParameter("filetype") != null)) {
filename = croppedname + request.getParameter("filename") + "." + request.getParameter("filetype");
} else {
filename = "image.png";
}
log.info("Filename: " + filename);
ResponseUtils.streamToOut(filename, buffer, response, request.getSession().getServletContext(), true);
} catch (Exception ex) {
log.warn("Failure reading the request");
log.warn(ex.getMessage(), ex);
}
}
}