Jsp/servlet上传文件、图片(老版方法)
来源:互联网 发布:蒙牛网络漏洞 编辑:程序博客网 时间:2024/04/27 20:45
额呵呵呵....
这个是servlet 3.0之前的上传方法..............................................
一、Jsp部分
<div id="formwrapper">
<h3>添加餐品</h3>
<form action="FoodServlet?method=add" method="post" enctype="multipart/form-data">
<fieldset>
<legend>餐品信息</legend>
<div>
<label for="name">餐品名称</label>
<input type="text" name="foodName" id="foodName" value="" size="150" maxlength="200" />
<br />
</div>
<div>
<label for="descp">餐品金额</label>
<input type="text" name="foodPrice" id="foodPrice" value="" size="150" maxlength="200" />
<br />
</div>
<div>
<label for="descp">餐品描述</label>
<input type="text" name="foodDesc" id="foodDesc" value="" size="150" maxlength="200" />
<br />
</div>
<div>
<label for="descp">上传图片</label>
<input type="file" name="photo" id="photo" size="150" maxlength="200" />
<br />
</div>
<div class="enter">
<input name="submit" type="submit" class="buttom" value="提交" />
<input name="reset" type="reset" class="buttom" value="重置" />
-----------------------------------------------------------------------------------------------------------------美丽分割线
注意: form元素的 enctype属性改为 "multipart/form-data" ,用二进制流传送数据到后台,包括文件的文件域。
二、servlet接收并解析参数
public void add(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String foodName = null;
int foodPrice = 0;
String foodDesc = null;
String foodImgSrc = null;
//设置保存上传文件保存路径
String savePath = getServletContext().getRealPath("/backend/images/foodImages");
//判断路径是否存在,若不存在则创建路径
File saveDir = new File(savePath);
if(!saveDir.exists()){
saveDir.mkdir();
}
//两个上传处理的核心对象
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload sfu = new ServletFileUpload(factory);
try {
List items = sfu.parseRequest(request);
Iterator it = items.iterator();
while(it.hasNext()){
//FileItem 是个API已有接口
FileItem item = (FileItem) it.next();
//判断是否为普通的控件,若是则执行 if 里的内容
if(item.isFormField()){
if(item.getFieldName().equals("foodName")){ //判断控件名是否相等,对应元素的name
String value = item.getString();
//因为是二进制传入的参数,所以在这里还要编码重组
value = new String(value.getBytes("ISO-8859-1"),"utf-8");
foodName = value;
}
else if(item.getFieldName().equals("foodPrice")){
String value = item.getString();
System.out.println("转换前金额为:----"+value);
int a = Integer.valueOf(value);
System.out.println("转换后金额为:----"+a);
foodPrice = a;
}
else if(item.getFieldName().equals("foodDesc")){
String value = item.getString();
value = new String(value.getBytes("ISO-8859-1"),"utf-8");
foodDesc = value;
}
}
else{
//获取文件大小
Long size = item.getSize();
//获取文件名(包含了文件的类型后缀)
foodImgSrc = item.getName();
System.out.println("文件名: "+foodImgSrc);
if(foodImgSrc.endsWith(".exe")){
request.setAttribute("msg", "类型不符合要求");
}
else{
//在指定路径写出文件
File file = new File(savePath,foodImgSrc);
item.write(file);
}
}
}
} catch (FileSizeLimitExceededException e){
request.setAttribute("msg", "文件太大");
} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
- Jsp/servlet上传文件、图片(老版方法)
- jsp+servlet上传文件和图片
- jsp+servlet图片上传
- Android+Servlet图片上传 (Tomcat+jsp)
- JSP+servlet上传文件
- jsp servlet文件上传
- jsp servlet文件上传
- jsp+servlet文件上传
- jsp servlet 上传文件
- jsp/servlet文件上传
- jsp/servlet上传文件
- JSP +Servlet 文件上传
- jsp + servlet 文件上传
- jsp+servlet文件上传
- Servlet+Jsp实现图片或文件的上传功能
- 用servlet jsp实现图片或文件上传
- jsp文件上传(图片上传)
- jsp上传图片servlet代码
- Class.getSimpleName()的作用
- WebKit和Chrome源码分析
- 传智播客新闻播报平台《传智零距离》开播啦
- java学习笔记之swing.JOptionPane方法
- 隐藏导航栏iOS
- Jsp/servlet上传文件、图片(老版方法)
- Android自动检测版本及自动升级
- 二维码篇
- Java设计模式之------工厂模式
- 第11周-课后实践(1)
- Android微信智能心跳方案
- Log4j在Java se项目中的使用
- file篇
- 黑马程序员再添高端学科,重磅推出C/C++课程