Subversion Repositories SmartDukaan

Rev

Rev 21976 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
21976 ashik.ali 1
package in.shop2020.dtrapi.controllers;
2
import java.io.ByteArrayInputStream;
3
import java.io.ByteArrayOutputStream;
4
import java.io.InputStream;
5
import java.io.OutputStream;
6
 
7
import javax.servlet.http.HttpServletResponse;
8
 
9
import org.apache.struts2.convention.annotation.Result;
10
import org.apache.struts2.interceptor.ServletResponseAware;
11
 
12
import com.opensymphony.xwork2.Action;
13
import com.opensymphony.xwork2.ActionSupport;
14
 
15
import in.shop2020.dtrapi.utils.PdfGenerator;
16
 
17
@Result(
18
    name = "success", 
19
    type = "stream", 
20
    params = { 
21
        "contentType", "${type}", 
22
        "inputName", "${stream}", 
23
        "bufferSize", "1024", 
24
        "contentDisposition", "attachment;filename=\"${filename}\""
25
    }
26
)
27
public class FileDisplayController extends ActionSupport implements ServletResponseAware{
28
 
21977 amit.gupta 29
    /**
30
	 * 
31
	 */
32
	private static final long serialVersionUID = 1L;
33
	//private String type = "application/pdf";
21976 ashik.ali 34
    private String filename;
35
    private InputStream stream;
36
    //private HttpServletRequest request;
37
    private HttpServletResponse response;
38
	private int id;
39
 
40
    //@org.apache.struts2.convention.annotation.Action(value = "/fofoDetailPdf", params="fofoId")
41
    public String show() throws Exception {
42
    	//int fofoId = Integer.parseInt(request.getParameter("fofoId"));
43
        //filename = "myimage.jpg";
44
        //File img = new File("/path/to/image/image.jpg");
45
    	OutputStream outputStream = response.getOutputStream();
46
    	PdfGenerator.generateAndWrite(outputStream, id);
47
        stream = this.toInputStream(outputStream);
48
 
49
        response.setHeader("Cache-Control", "no-cache");
50
        response.setHeader("Content-Disposition", "attachment;filename=\"fofoDetail.pdf\"");
51
        response.setContentType("application/pdf");
52
        response.setContentLength(((ByteArrayOutputStream)outputStream).size());
53
 
54
        return Action.SUCCESS;
55
    }
56
 
57
    private ByteArrayInputStream toInputStream(OutputStream outputStream){
58
    	ByteArrayOutputStream buffer = (ByteArrayOutputStream) outputStream;
59
    	byte[] bytes = buffer.toByteArray();
60
    	ByteArrayInputStream inputStream = new ByteArrayInputStream(bytes);
61
    	return inputStream;
62
    }
63
    /*private String getType() {
64
        return this.type;
65
    }*/
66
 
67
    private String getFilename() {
68
        return this.filename;
69
    }
70
 
71
    private InputStream getStream() {
72
        return this.stream;
73
    }
74
 
75
	/*@Override
76
	public void setServletRequest(HttpServletRequest arg0) {
77
		this.request = arg0;
78
	}*/
79
 
80
	@Override
81
	public void setServletResponse(HttpServletResponse arg0) {
82
		this.response = arg0;
83
	}
84
 
85
	public int getId() {
86
		return id;
87
	}
88
 
89
	public void setId(int id) {
90
		this.id = id;
91
	}
92
}