java servlet 上傳下載

這些只是一部分代碼

上傳代碼:

private int fileControl(HttpServletRequest req, HttpServletResponse resp,
			String fileString) throws ServletException {
		int res = 0;

		// 在解析請求之前先判斷請求類型是否爲文件上傳類型
		boolean isMultipart = ServletFileUpload.isMultipartContent(req);

		// 文件上傳處理工廠
		FileItemFactory factory = new DiskFileItemFactory();

		// 創建文件上傳處理器
		ServletFileUpload upload = new ServletFileUpload(factory);

		// 開始解析請求信息
		List items = null;
		try {
			items = upload.parseRequest(req);
		} catch (FileUploadException e) {
			e.printStackTrace();
		}

		// 對所有請求信息進行判斷
		Iterator iter = items.iterator();
		while (iter.hasNext()) {
			FileItem item = (FileItem) iter.next();
			// 信息爲普通的格式
			if (item.isFormField()) {
				String fieldName = item.getFieldName();
				String value = item.getString();
				req.setAttribute(fieldName, value);
			}
			// 信息爲文件格式
			else {

				String fileName = item.getName();
				int index = fileName.lastIndexOf("\\");
				fileName = fileName.substring(index + 1);
				String sufx = fileName.substring(fileName.indexOf("."),
						fileName.length());
				fileString = fileString + sufx;
				if (sufx.equals(".xls")) {
					req.setAttribute("realFileName", fileString);

					String basePath = req.getRealPath("/import");
					File file = new File(basePath, fileString);
					try {
						item.write(file);
					} catch (Exception e) {
						e.printStackTrace();
					}
					res = 1;
				} else {
					res = 2;
				}

			}
		}
		return res;
	}


下載:

@SuppressWarnings("unchecked")
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		ExportExcel.tableHeader = new ArrayList<String>();
		response.setContentType("application/octet-stream");
		ExportExcel ee = new ExportExcel();
		List<List<Object>> list = (List<List<Object>>) request.getSession()
				.getAttribute("list");
		if (list == null) {
			request.getRequestDispatcher("/index.jsp").forward(request,
					response);
		}
		for (int i = 0; i < list.get(0).size(); i++) {
			ExportExcel.tableHeader.add(list.get(0).get(i).toString());
		}
		String fileName = "1340957498535.xls".trim();
		try {
			String fileRealPath = request.getRealPath("/export/" + fileName);
			ee.createExcelSheet(list, fileRealPath);
			response.setHeader("Content-Disposition", "attachment;filename=\""
					+ fileName + "\"");
			request.getRequestDispatcher("/export/"+fileName).forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

有個小案例 http://download.csdn.net/detail/zhaokuo719/4401391 ;雖然分數高但是物有所值;此項目裏面包涵了java利用poi對excel操作




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章