web上传下载
提示存储地址的下载
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 "); } } ?