使用MyEclipse实现上传时,所选择的请求必须是POST请求,如下jsp:
十多年的下花园网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整下花园建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“下花园网站设计”,“下花园网站推广”以来,每个客户项目都认真落实执行。
body
h3 align="left"
上传头像
/h3
br
form action="UploadServlet" method="post"
enctype="multipart/form-data"
姓名:
input type="text" name="username"
br
头像:
input type="file" name="photo"
br
input type="submit" value="上传"
/form
/body
其次是需要添加上传的jar包commons-fileupload-1.3.1.jar、commons-io-2.4.jar
最后需要在Servlet中进行逻辑处理:
// 1、创建FileUpload对象
// (1)创建工厂
FileItemFactory factory = new DiskFileItemFactory();
// (2)创建FileUpload对象
ServletFileUpload upload = new ServletFileUpload(factory);
// (3)把请求中的所有数据转换成FileItem对象
try {
ListFileItem list = upload.parseRequest(request);
// (4)判断是文件域还是表单域,如果是表单域,则返回true
for (int i = 0; i list.size(); i++) {
if (list.get(i).isFormField()) {
// (5)获取input标签中name属性的值
if (list.get(i).getFieldName().equals("username")) {
// 输出提取到的具体的值
System.out.println("用户姓名为:"
+ list.get(i).getString("utf-8"));
}
} else {
// 输出上传的路径
System.out.println("upload的路径:"
+ getServletContext().getRealPath("upload"));
// 获取到上传的文件的名字
File file = new File(getServletContext().getRealPath(
"upload"),
list.get(i)
.getName()
.substring(
list.get(i).getName()
.lastIndexOf("\\") + 1));
list.get(i).write(file);
}
}
方法一:
①下载fileupload 插件,将文件转换成流;
②再写出到指定的路径,将存储路径存储在数据库中。
方法二:
可以将头像文件做一次压缩处理,原图一个路径,压缩图一个路径。压缩图路径展示的是小图,原图路径展示的是原图。
1、准确的说,应该是文件上传如何实现。
2、文件上传,一般都是能过组件来实现,
自己来写上传的话,不太方便,也没必要,别人都做的太多了。
3、smartupload或是common-fileupload都是经常用的组件,具体用法,直接搜“smartupload
上传案例"或是”common-fileupload
使用案例“就可以了。