温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JavaWeb文件上传实例分析

发布时间:2022-09-26 14:26:48 来源:亿速云 阅读:167 作者:iii 栏目:web开发

这篇文章主要介绍“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文件上传实例分析

启动工程之后,选择上传的文件点击上传,并在服务器目录下得到上传的文件

JavaWeb文件上传实例分析

关于“JavaWeb文件上传实例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI