含有图片上传功能的请求及用图片名称存入数据库索引显示
文件上传用了jsmartcom_zh_CN.jar
这是我用其他的代码改过来的,“email ”也没有改变
<form action="add" method="post" enctype="multipart/form-data">
姓名:<input name="name" type="text"/><br/>
性别:<input name="sex" type="radio" checked="checked" value="男"/>男
<input name="sex" type="radio" value="女"/>女<br/>
年龄:<input name="age" type="text"/><br/>
照片:<input name="email" type="file" /><br/>
地址:<input name="address" type="text"><br/>
<input type="submit" value="添加"/>
</form>
名为add请求的serlet的post方法:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("GB18030");
response.setCharacterEncoding("GB18030");
// ---------------图片的上传-------------------
SmartUpload smart = new SmartUpload();
smart.initialize(this.getServletConfig(), request, response);
String disFile = "";
String fileName = null;
try {
smart.upload();
// String imgname = smart.getRequest().getParameter("imgname");
IPTimeStamp ipts = new IPTimeStamp();
String imgname = ipts.getIPTimestamp();
String absPath = this.getServletContext().getRealPath("/images");
System.out.println(absPath);
String ext = smart.getFiles().getFile(0).getFileExt();
fileName = absPath + File.separator + imgname + "." + ext;
System.out.println("File name=" + fileName);
smart.getFiles().getFile(0).saveAs(fileName);
disFile = imgname + "." + ext;
} catch (SmartUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String email = disFile;
// -----------------------------------
// 因为提交时的from表单有enctype="multipart/form-data"
// 防止不能正常得到其他数据可以用SmartUpload里的smart.getRequest()来得到数据
String name = smart.getRequest().getParameter("name");
// String name = request.getParameter("name");
String sex = smart.getRequest().getParameter("sex");
int age = Integer.parseInt(smart.getRequest().getParameter("age"));
// String email = request.getParameter("email");
String address = smart.getRequest().getParameter("address");
StudentManager sm = new StudentManagerImpl();
Student stu = new Student();
stu.setName(name);
stu.setSex(sex);
stu.setAddress(address);
stu.setAge(age);
stu.setEmail(email);
boolean flag = sm.add(stu);
if (flag == true) {
response.sendRedirect("index.html");
}
}
图片的显示是从数据库中得到的信息作为img便签的src属性就好了
<img src="<%="images\\"+stu.getEmail()+"\""%>" alt="照片" width="200px" height="200px">