获取excel导入路径

上传excel文件

$("#upload").ajaxSubmit({
	type: "post",
	url: basePath+'/util/uploadExcel.jsp',	
	success: function (text) {
	var filePath = text;//获取上传文件路径
	},
})

uploadExcel.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" session="false" %>
<%@ page import="java.io.*,java.util.*" %>
<%@ page import="javax.servlet.http.*" %>
<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="org.apache.commons.fileupload.disk.*" %>
<%@ page import="org.apache.commons.fileupload.servlet.*" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.net.URLEncoder" %>

<%
	// 文件存储目录
	String filePath = request.getSession().getServletContext().getRealPath("\\") + "importfile\\";
	
	filePath = filePath.replace("\\", File.separator);
	
	File pathFile = new File(filePath);
	if(!pathFile.exists()){
		pathFile.mkdirs();
	}
	//String maxSize = UtilCommon.getDefaultEntityByKey(IMSConstant.DS_NAME, "MAX_FILE_SIZE");
	int maxFileSize = 20 * 1024 * 1024; // 最大上传的文件大小(20M)
	int maxMemSize = 1000 * 1024; // 内存中存储文件的最大值
	
	String contentType = request.getContentType();
	if ((contentType.indexOf("multipart/form-data") >= 0)){
		DiskFileItemFactory factory = new DiskFileItemFactory();
		// 设置内存中存储文件的最大值
      	factory.setSizeThreshold(maxMemSize);
      	// 本地存储的数据大于 maxMemSize
      	factory.setRepository(pathFile);
      	// 创建一个新的文件上传处理程序
        ServletFileUpload upload = new ServletFileUpload(factory);
		// 设置最大上传的文件大小
        upload.setSizeMax(maxFileSize);
        try{
        	// 解析获取的文件
         	List<?> fileItems = upload.parseRequest(request);
         	// 处理上传的文件
         	Iterator<?> i = fileItems.iterator();
			while (i.hasNext ()){
            	FileItem fi = (FileItem)i.next();
            	if (!fi.isFormField()){
            		// 获取上传文件的参数
            		String fieldName = fi.getFieldName();
            		String fileName = fi.getName().replaceAll(" ", "");
            		boolean isInMemory = fi.isInMemory();
            		long sizeInBytes = fi.getSize();
            		
					// 随机文件名
					SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyyMMddhhmmss");
					String date = sDateFormat.format(new Date());
					String fileNameEnd = date + Math.random() * 100000;
					fileNameEnd = fileNameEnd.substring(0, fileNameEnd.indexOf("."));
            		fileName = fileNameEnd + fileName.substring(fileName.lastIndexOf("."));
					
					// 写入文件
					File file = new File(filePath, fileName);
					fi.write(file) ;
            		//System.out.println("文件上传成功: " + filePath + fileName);
            		// 返回文件地址和名称
            		String str = URLEncoder.encode(filePath + fileName, "utf-8");
            		//System.out.println("=========server path:====" + str);
            		
            		
            		String tempPath = filePath + fileName;
            		
            		response.setCharacterEncoding("utf-8");
            		response.setHeader("Content-type", "text/html;charset=utf-8");
            		response.setContentType("text/html;charset=utf-8");
            		
            		PrintWriter pw = response.getWriter();
            		pw.print(tempPath);
            		pw.flush();
            		pw.close();
            	}
            }
        }catch(Exception ex){
        	System.out.println(ex.getMessage());
        }
	}
%>

猜你喜欢

转载自blog.csdn.net/qq_29988051/article/details/89085711