提示存储地址的下载
public ActionForward exportExcel(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {
String path;
//创建临时文件夹 path=request.getContextPath()+"\\shopCart"; new File(path).mkdirs(); //创建临时文件,存放需要下载的内容 path=path+"\\"+new Date().getTime()+".xls"; File file = new File(path); //设置头信息,声明文件类型,文件默认名称 response.setContentType("application/msexcel"); response.setHeader("content-disposition", "attachment; filename=order_"+new Date().getTime()+".xls"); //读取临时文件内容,将内容写到客户端 OutputStream os; try { os = response.getOutputStream(); java.io.BufferedInputStream bis = new java.io.BufferedInputStream(new java.io.FileInputStream(file)); byte[] readdata = new byte[1024]; while (bis.read(readdata) != -1) { os.write(readdata); } os.flush(); os.close(); bis.close(); //将临时文件删除 file.delete(); response.sendRedirect("/ecman/searchMerchandise.jsp"); } catch (IOException e1) { e1.printStackTrace(); } return null;
基于struts 上传操作
首先請確定commons-fileupload.jar有在WEB-INF/lib目錄下。 FormBean: import javax.servlet.http.*; import org.apache.struts.action.*; import org.apache.struts.upload.*; public class UploadForm extends ActionForm { private FormFile file; public void setFile(FormFile file) { this.file = file; } public FormFile getFile() { return file; } public void reset(ActionMapping mapping, HttpServletRequest req) { file = null; } }
使用struts及html标签
<html:form action= "/cart.do" method= "post" enctype= "multipart/form-data">
<html:hidden property="status" value="importExcel"/> 文件路径: <html:file property= "excelFile"/> <input type="submit" value="上传"/> </html:form> <form action="/cart.do" method="post" enctype="multipart/form-data" name="excelForm"> <input type="hidden" name="status" value="importExcel"/> 文件路径:<input name="excelFile" type="file" id="excelFile"/> <input type="submit" name="Submit" value="提交"/> </form>
ction:
import java.io.*;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.apache.struts.upload.*;
public class UploadAction extends Action {
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
UploadForm fileForm = (UploadForm) form;
FormFile file = fileForm.getFile();
FileOutputStream fileOutput = new FileOutputStream( "/home/caterpillar/files/ " + file.getFileName());
fileOutput.write(file.getFileData());
fileOutput.flush();
fileOutput.close();
return mapping.findForward( "success ");
}
}