JavaWeb(三)文件上传

文件上传

可参考 https://blog.csdn.net/u014785687/article/details/73863964

			// 判断前台的form是否有 mutipart属性
			if (isMultipart) {
                //1、创建DiskFileItemFactory对象,设置缓冲区大小和临时文件目录。 
				DiskFileItemFactory factory = new DiskFileItemFactory();
                //设置工厂的内存缓冲区大小,默认是10K
                // factory.setSizeThreshold(1024*1024);
                //设置工厂的临时文件目录
                //factory.setRepository(new File("D:\\YOHO\\"));
                
                //2、创建ServletFileUpload对象,并设置上传文件的大小限制
				ServletFileUpload upload = new ServletFileUpload(factory);
				//控制上传单个文件的大小(单位B)
				upload.setSizeMax(20480);	
				
				//3、解析request对象中的所有请求字段(文字和文件)
				List<FileItem> items = upload.parseRequest(request);
                
				// 4、遍历items中的数据
				Iterator<FileItem> iter = items.iterator();
				while (iter.hasNext()) {
					FileItem item = iter.next();
                    //获得属性名
					String itemName = item.getFieldName();
					int sno = -1;
					String sname = null;
					//4.1、 为普通表单字段,则调用getFieldName、getString方法得到字段名和字段值。
					if (item.isFormField()) {
						if (itemName.equals("sno")) {
							sno = Integer.parseInt(item.getString("UTF-8"));
						} else if (itemName.equals("sname")) {
							sname = item.getString("UTF-8");
						} else {
							System.out.println("其他字段xxx.....");
						}
					} 
					//4.2、上传文件
					else {
						String fileName = item.getName();
                        //设置上传路径
						String path = "D:\\study\\upload";
						File file = new File(path, fileName);
                        // 上传
						item.write(file);
						System.out.println(fileName + "上传成功!");
						return;
					}
				}
			}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值