这篇文章主要介绍“javaweb文件上传实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaWEB文件上传实例分析”文章能帮助大家解决问题。文件上传实际上
这篇文章主要介绍“javaweb文件上传实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaWEB文件上传实例分析”文章能帮助大家解决问题。
文件上传实际上就是Browser (浏览器)跟 Server(服务器)的数据互动,JavaWeb实现文件上传也不例外,当用户在前端网页点击文件上传后,用户上传提交的内容会存放到临时的文件中,我们使用getpart来获取Part对象,并通过Part对象获得流,javaWeb的servlet会获得用户所提交的文件并且将文件存放到服务器里。
get 请求,参数是放在 URL 地址栏中发送到服务器的 /xxx?id=3&name=admin
post 请求,参数是放在请求体中发送的,所以地址栏看不到数据
enctype 表示数据的传输格式:
application/x-www-fORM-urlencoded : id=3&name=admin
multpart/form-date ,表示数据将会被分段处理之后再发送
html中用来跟文件系统进行交互的手段只有一个 :input type=file
如果想要上传的话:
必须要用 post 进行提交,这种方式,将会把数据封装在请求体中进行发送
必须指定 enctype 为 multipart/form-date ,这样数据才会被正确分段处理并上传
JavaWeb实现文件上传基本步骤:
前端页面:
写一个 form 表单,使用 post 方法,并指定 enctype="multipart/form-date "
使用 input type = file ,来选择文件
后台接收:
要在 Servelt 上面添加 @MultipartConfig 注解
使用 req.getPart("name") 来接收文件
使用 part.write("路径") 来保存文件到服务器的硬盘
图片上传案例
//要求//1.保存为正确的后缀名//2. 限制上传图片的大小为2M//3. 正确的渲染上传的图片//页面端(upload.jsp)上传图片的代码文件上传:
点击上传//servlet 端@WebServlet("/upload")@MultipartConfigpublic class UploadServlet extends httpservlet{@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws Exception{
req.getRequestDispatcher("/jsp/upload.jsp").forward(req, resp);
}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws Exception{
Part part = req.getPart("img") //获取上传文件if (prat.getSize() < 2 * 1024 * 1024 ) { //上传文件小于2MB时执行//保存为什么名?上传的时间加上上传的文件名做为保存名String savedName = new simpleDateFormat("yyyyMMdd_hhmmss").format(new Date)
+ "-"+ part.getSubmittedFileName();//保存的位置://1. getServletContext().getRealPath("/") 获取文件在电脑中的绝对路径, “/”指代项目根目录//2. new File(savedDir).mkdir() 当文件路径不存在时创建文件路径String savedDir = getServletContext().getRealPath("/img/");new File(savedDir).mkdir();//使用 part.write('路径') 来保存图片到服务器的硬盘part.write(savedDir + savedName);//重定向到upload_success.jsp页面,path把文件名传过去resp.sendRedirect(req.getContextPath() + "/jsp/upload_success.jsp?path=" + savedName);
}
}
}//页面端(upload_success.jsp)渲染的代码
你上传的图片:
启动工程之后,选择上传的文件点击上传,并在服务器目录下得到上传的文件
关于“JavaWeb文件上传实例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网JavaScript频道,小编每天都会为大家更新不同的知识点。
--结束END--
本文标题: JavaWeb文件上传实例分析
本文链接: https://lsjlt.com/news/98855.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-01-12
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0