含有图片上传功能的请求及数据库的存储

含有图片上传功能的请求及用图片名称存入数据库索引显示

 

文件上传用了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">

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值