文件的上传和下载
上传
-
通常情况下,我们需要在浏览器上上传或者下载文件,接下来看看具体的步骤和注意点
-
由于get请求是把请求参数拼接在后面,所以对传输的数据大小是有限制的,一般情况下,文件都是比较大的,所以我们通常使用post请求。
-
我们在接受文件的时候,可能不只收到文件,也可能接受到其他的请求信息,所以这里就是用阿帕奇的第三方jar包接受和解析请求信息。
-
文件在传送到服务端的时候,可能由于在同一个文件夹下存在名字相同,文件内容不同的文件,如果我们以名字为依据保存,那就会覆盖这个文件,所以我们就会使用UUID这个工具类,
-
文件上传的案例
前端
<%-- Created by IntelliJ IDEA. User: LH Date: 2020/8/26 Time: 9:27 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>上传文件</title> </head> <body> <form method="post"enctype="multipart/form-data" action="demo1"> 用户名:<input type="text" name="username" value=""> <br> 用户密码:<input type="password" name="password" value=""> <br> 上传文件<input type="file" name="upload" value=""> <br> <input type="submit" value="提交"> </form> </body> </html>
后端
package org.westos.demo1;/*Author:LH CreatTime:2020.08.26.9:33*/ import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.util.List; import java.util.UUID; @WebServlet(name = "MyServlet1", value = "/demo1") public class MyServlet1 extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException