jspsmart(支持中文下载)

it2025-08-16  6

将excel文件从jsp页面导入到数据库,先将文件上传到server,然后读取,最后删除掉 上传 //要加encType="multipart/form-data" <form action="addmore_project.jsp" name="muti" method="post" encType="multipart/form-data"> 批量导入项目<input type=file name="daoru" > <input type=button value="提交"  class=buttons > </form>   <%@ page import="java.sql.*" c%> <%@ page import="web.CommFunc,web.OperateExcel"%> <%@ page import="com.jspsmart.upload.*"%> <%request.setCharacterEncoding("UTF-8");%> <%  // 新建一个SmartUpload对象/******先将文件上传至server  SmartUpload su = new SmartUpload();  // 上传初始化  su.initialize(pageContext);  // 上传文件  su.upload(); //假设有request.getParameter()应该放在su.upload()的后面,否则报错  String filePath = request.getParameter("daoru");  try{  Class.forName(db_forname);  Connection conn= DriverManager.getConnection(db_url,db_user,db_password);  String FilePath = "";  String filename="";  if (su.getFiles().getCount()>0) {   com.jspsmart.upload.File file = su.getFiles().getFile(0);   FilePath = "/upload/temp/";   filename = file.getFileName();   java.io.File f = new java.io.File(application.getRealPath("/")+FilePath);    if(!f.exists()){     f.mkdirs();    }System.out.println(FilePath + filename);    file.saveAs(FilePath + filename);  }  else {   out.println("没有上传文件,请[<a href='javascript:history.back();'>返回</a>]");  }  ///    OperateExcel oe = new OperateExcel();  //oe.save_project(oe.readExecel(filePath),conn);  oe.save_projectFive(oe.readExecelFive(application.getRealPath("/")+FilePath + filename),conn);  out.println("<center><span>批量导入成功</span></center>");  //******最后将这个文件删除  java.io.File f1 = new java.io.File(application.getRealPath("/")+FilePath + filename);  if(f1.exists()){   f1.delete();  }   %>     文件下载 <%@ page import="java.sql.*,com.jspsmart.upload.*" c%> // 新建一个SmartUpload对象  SmartUpload su = new SmartUpload();   // 初始化  su.initialize(pageContext);   // 设定contentDisposition为null以禁止浏览器自己主动打开文件,   //保证点击链接后是下载文件。若不设定,则下载的文件扩展名为   //doc时,浏览器将自己主动用word打开它。扩展名为pdf时,   //浏览器将用acrobat打开。  su.setContentDisposition(null);   // 下载文件  su.downloadFile(filename); //以下两句重要,否则有可能会提示出错: //java.lang.IllegalStateException: getOutputStream() has already been called for this response //这个错误的其他解决方法:就是文件開始的<%%>都要紧挨着,不能有空格,更不能有换行,如: //http://dl2.csdn.net/down4/20070717/17095956994.rarhttp://dl2.csdn.net/down4/20070717/17095956994.rar<%@ page contentType="text/html; charset=GBK" %><%@ page import="java.io.*" %><%         out.clear();         out = pageContext.pushBody();    } catch (Exception e) {   out.println(e.getMessage()); } %> 

转载于:https://www.cnblogs.com/bhlsheji/p/4390795.html

相关资源:数据结构—成绩单生成器
最新回复(0)