javaweb文件的上传和下载,javaweb文件的上传和下载

  javaweb文件的上传和下载,javaweb文件的上传和下载

  00-1010简介前端上传文件,后端接受文件摘要。

  00-1010这里实现一个简单的图片上传功能,主要是为了熟悉这个文件上传的交互流程。更复杂的文件上传,比如大文件的切片上传,断点续传等。这里就不介绍了。

  00-1010首先在前端创建一个页面。在这里,我们选择以表格的形式上传文件。选择时,可以使用输入标签中的文件类型自动选择本地文件。

  !doctype HTML HTML lang= en headmethacharaset= UTF-8 title上传图片/title/head body Form action= Upload method= post enctype= multipart/Form-data input type= file name= my image input type= submit value= submit picture /Form/body/HTML http://www . Sina.com/:

  在表单标签中,在action属性之后,写入表单数据上传的URL地址。如果没有写,默认会上传到当前页面。这里我们写服务器解析的address @WebServlet(/upload )。在方法属性中,我们将其设置为POST方法,即提交表单数据的方法,也就是前面提到的构造HTTP请求的方法,POST传输的数据量大,可以视为无限制。Enctype="multipart/form-data "。该属性的功能是将表单数据编码格式设置为多部分/表单数据类型。这种编码类型将在上传时处理文件内容,以便服务器可以分析文件类型和内容。属性:代码解释:enctype:默认模式,只处理表单域中的value属性值,表单域中的值处理成URL编码模式;application/x-www=form-urlencoded:表单数据采用二进制流处理。除了表单域中的value属性值,表单域中的文件内容也会被处理,它会被封装到请求参数中,字符不会被编码。multipart/form-data:空间转换成一个符号,其他字符不编码,适合通过表单发送邮件。

  text/plain:

  前端文件上传实际上是文件内容和数据的传递,不是我们常见的文件复制和拷贝操作。在传输的过程中,中医编码制定数据传输的规则,以便后端可以实现一套相应的分析规则来进行分析。数据传输规则应包含文件的基本信息,如文件名和文件类型,以便在后端解析时写入正确格式的文件。

  00-1010在服务器端处理请求,取出并重新保存请求中的文件,最后将代码部署到Tomcat。

  当解析请求中的文件时,需要使用Servlet中的getPart方法。这个方法的参数是相应的文件名

  在前端上传文件时,可以选择多个文件一次性上传,每个文件会打包成一个零件对象。每个文件都会有自己的文件名,所以服务器可以根据文件名找到对应的部分,对应的文件信息就包含在该部分中。

  导入javax . servlet . servlet exception;导入javax . servlet . annotation . multipart config;导入javax . servlet . annotation . web servlet;导入javax . servlet . http . http servlet;导入javax . servlet . http . http servlet request;导入javax . servlet . http . http servlet response;导入javax . servlet . http . part;导入Java . io . io exception;@ multipart config @ web servlet(/upload )公共类UploadServlet扩展http servlet { @ Override protected void doPost(http servlet request req,HttpServletResponse resp)引发ServletException

  , IOException { //1.从请求对象中,读取出Part对象 Part part =req.getPart("MyImage"); //2.读取到Part 对象中的一些参数 System.out.println(part.getSubmittedFileName()); // 上传文件真实的文件名 System.out.println(part.getContentType()); // 文件的类型 System.out.println(part.getSize()); // 文件的大小 //3.把文件写入到指定的目录中 part.write("c:/temp/MyImage.jpg"); //4.返回一个响应,通知用户上传成功 resp.getWriter().write("upload OK !"); }}代码解释:

  接受文件上传的Servlet,必须有@MultipartConfig注解,否则Servlet不能正确的读取请求中的文件内容@WebServlet("/upload")这里的/upload和前端form标签中的action属性的值upload正好对应了起来。action属性会将form表单中的数据发送到对应的URL中,前端将URL设为upload,那么后端在构造url的时候也必须和前端的对应起来。否则访问不了Tomcat.在Servlet中重写的具体是哪个方法也要和前端method属性对应起来,前端用的是Post方法,那么后端在Servlet中重写的就是doPost方法.在重写的方法中,我们首先要通过文件名name获取到对应的Part对象。前端文件名是MyImage,那么这里的参数就必须是MyImage。获得对象后,就可以通过Servlet内置的一些方法来获得文件的参数信息,例如文件名,文件类型,文件大小等。然后通过part.write()方法使文件持久化,也就是将文件保存下来,写入指定的目录中。这个方法的参数就是想要保存的路径最后可以返回一个响应,通知客户端上传成功。在浏览器中输入URL,发送请求,开始上传文件

  

 

  上传成功

  

 

  在本地对应的路径中,可以看到被上传的文件

  

 

  

 

  

总结

到此这篇关于JavaWeb简单文件上传的文章就介绍到这了,更多相关JavaWeb文件上传流程内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!

 

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: