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操作




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

趙大叔

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值