文件的上传到数据库---只传递名

来源:互联网 发布:mac能用ios手游模拟器 编辑:程序博客网 时间:2024/06/05 06:46

               文件的上传

表单

<form action="up" method="post"  enctype="multipart/form-data">
用户名<input type="text" name="username"/><br>
照片<input type="file" name="zhaopian"/>
<input type="submit" value="上传">

Servlet 

 3步曲

 DiskFileItemFactory  factory = new DiskFileItemFactory() ;
ServletFileUpload sfu = new ServletFileUpload(factory) ;
try {
List<FileItem> listfile =sfu.parseRequest(request);

 String fi1 =listfile.get(1);  //得到文件

//现在围绕fi1.write(file);

List<FileItem> listfile =sfu.parseRequest(request);
FileItem fi1 =listfile.get(1); //得到文件了
String filename =fi1.getName();//文件名

                         //为了兼容浏览器

                       int index = filename.lastIndexOf("\\");
if (index != -1) {
filename.substring(index + 1);
}

                        //为了不重名我们可以使用

                         filename = UUID.randomUUID().toString() + "_" + filename;
String path="D:\\eclipse作业\\TestUp\\WebContent\\img";//存放在WebContent路径下
File file = new File(path+"//"+filename);
fi1.write(file);
} catch (Exception e) {

e.printStackTrace();
}
 
}

在前台图片的显示 我们可以使用EL表达式

<img src="umg/${对象.字段}"> 来显示

0 0