servlet中form表单上传文件

private void saveDoFood(HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		try {
			DiskFileItemFactory factory = new DiskFileItemFactory();
			ServletFileUpload servletFileUpload = new ServletFileUpload(factory);
			List<String> attr_list = new ArrayList<String>();
			String name = null;
			if(servletFileUpload.isMultipartContent(request)) {
				List<FileItem> list = servletFileUpload.parseRequest(request);
				for (FileItem fileItem : list) {
					if(fileItem.isFormField()) {
						String fieldName = fileItem.getFieldName();
						String value = fileItem.getString("UTF-8");
						System.out.println(fieldName+"-----"+value);
						attr_list.add(value);
					}else {
						String fieldName = fileItem.getFieldName();
						name= fileItem.getName();
						if(!"".equals(name)) {
							name = UUID.randomUUID().toString().replaceAll("-", "")+"_"+name;
							String realPath = "E:\\pictures";
							File file = new File(realPath);
							if(!file.exists()) {
								file.mkdir();
							}
							fileItem.write(new File(file, name));
						}	
					}
				}
			}
			foodService.saveDoFood(attr_list,name);
			response.sendRedirect(request.getContextPath()+"/foodServlet?method=getFoodList");
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		
	}
前台
<div id="MainArea">
	<!-- 表单内容 -->
	<form action="foodServlet?method=saveDoFood" method="post" enctype="multipart/form-data">
		<!-- 本段标题(分段标题) -->
		<div class="ItemBlock_Title">
        	<img width="4" height="7" border="0" src="<%=basePath%>/style/images/item_point.gif"> 菜品信息 
        </div>
		<!-- 本段表单字段 -->
        <div class="ItemBlockBorder">
            <div class="ItemBlock">
				<div class="ItemBlock2">
					<table cellpadding="0" cellspacing="0" class="mainForm">
                    <tr>
							<td width="80px">菜系</td>
							<td>
                            <select name="cid" style="width:80px">
	                            <c:forEach items="${foodTypeList }" var="foodTypeList">
	                          	    <option value="${foodTypeList.id }" 	
			   						>${foodTypeList.type }</option>				
	                            </c:forEach>
                            </select>
                             *<input type="hidden" name="id" value="" /></td>
						</tr>
						<tr>
							<td width="80px">菜名</td>
							<td><input type="text" name="foodName" class="InputStyle" value=""/> *</td>
						</tr>
						<tr>
							<td>价格</td>
							<td><input type="text" name="price" class="InputStyle" value=""/> *</td>
						</tr>
                        <tr>
							<td>会员价格</td>
							<td><input type="text" name="mprice" class="InputStyle" value=""/> *</td>
						</tr>
						
						<tr>
							<td>简介</td>
							<td><textarea name="introduce" class="TextareaStyle"></textarea></td>
						</tr>
						<tr>
							<td width="80px">菜品图片</td>
							<td>
								
								<input type="file" name="imageUrl"/> *
							</td>
						</tr>
					</table>
				</div>
            </div>
        </div>
		
		
		<!-- 表单操作 -->
		<div id="InputDetailBar">
            
				
				
					 <input type="submit" value="添加" class="FunctionButtonInput">
				
			
            
            <a href="javascript:history.go(-1);" class="FunctionButton">返回</a>
        </div>
	</form>
</div>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值