首先,hibernate3默认将blob转成了字符串,于是通过DAO可以拿到相应的字符串值.然后用java.util.zip.ZipOutPutStream打包该字符串,
问题在于struts2普通的文件下载中需要提供一个输入流,于是换了个方式
package com.iss.test.action;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class ZipAction extends ActionSupport {
private static final long serialVersionUID = 8765771574443914108L;
private OutputStream res;
private ZipOutputStream zos;
public String zip() throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
res = response.getOutputStream();
response.reset();
// 设置响应为文件下载,设置文件名
response.setHeader("Content-disposition", "attachmen