Rev 21976 | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.dtrapi.controllers;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.io.OutputStream;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.convention.annotation.Result;import org.apache.struts2.interceptor.ServletResponseAware;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionSupport;import in.shop2020.dtrapi.utils.PdfGenerator;@Result(name = "success",type = "stream",params = {"contentType", "${type}","inputName", "${stream}","bufferSize", "1024","contentDisposition", "attachment;filename=\"${filename}\""})public class FileDisplayController extends ActionSupport implements ServletResponseAware{/****/private static final long serialVersionUID = 1L;//private String type = "application/pdf";private String filename;private InputStream stream;//private HttpServletRequest request;private HttpServletResponse response;private int id;//@org.apache.struts2.convention.annotation.Action(value = "/fofoDetailPdf", params="fofoId")public String show() throws Exception {//int fofoId = Integer.parseInt(request.getParameter("fofoId"));//filename = "myimage.jpg";//File img = new File("/path/to/image/image.jpg");OutputStream outputStream = response.getOutputStream();PdfGenerator.generateAndWrite(outputStream, id);stream = this.toInputStream(outputStream);response.setHeader("Cache-Control", "no-cache");response.setHeader("Content-Disposition", "attachment;filename=\"fofoDetail.pdf\"");response.setContentType("application/pdf");response.setContentLength(((ByteArrayOutputStream)outputStream).size());return Action.SUCCESS;}private ByteArrayInputStream toInputStream(OutputStream outputStream){ByteArrayOutputStream buffer = (ByteArrayOutputStream) outputStream;byte[] bytes = buffer.toByteArray();ByteArrayInputStream inputStream = new ByteArrayInputStream(bytes);return inputStream;}/*private String getType() {return this.type;}*/private String getFilename() {return this.filename;}private InputStream getStream() {return this.stream;}/*@Overridepublic void setServletRequest(HttpServletRequest arg0) {this.request = arg0;}*/@Overridepublic void setServletResponse(HttpServletResponse arg0) {this.response = arg0;}public int getId() {return id;}public void setId(int id) {this.id = id;}}