精华内容
下载资源
问答
  • JavaWeb实现文件上传下载功能实例解析 JavaWeb实现文件上传下载功能实例解析
  • 在Web应用系统开发中,文件上传功能是非常常用的功能,今天来主要讲讲JavaWeb中的文件上传功能的相关技术实现,本文给大家介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看看吧
  • 主要介绍了JavaWeb中的文件上传下载功能的实现,文件上传下载功能是非常常用的功能,需要的朋友可以参考下
  • 主要为大家详细解析了JavaWeb文件上传下载功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • JavaWeb 文件 上传 下载

    千次阅读 多人点赞 2016-07-30 21:49:29
    今天来分享一个JavaWeb方式实现的文件上传下载的小例子。项目依赖这个小例子是使用JavaWeb的JSP+Servlet实现的。另外使用了一些第三方的jar包。现列举如下: apache-commons-fileupload.jar+apache-commons-io.jar: ...
    展开全文
  • javaweb简单实现文件上传下载源代码,仅供参考
  • JavaWeb文件上传

    2019-04-06 15:11:02
    JavaWeb文件上传知识点验证性代码,包含commons-fileupload工具使用代码
  • 在Web应用程序开发中,文件上传与下载功能是非常常用的功能,下面通过本文给大家介绍JavaWeb实现文件上传与下载实例详解,对javaweb文件上传下载相关知识感兴趣的朋友一起学习吧
  • 主要介绍了JavaWeb实现文件上传下载的方法的相关资料,需要的朋友可以参考下
  • 主要为大家详细介绍了JavaWeb文件上传下载功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 文件上传下载需要的jar包
  • 主要介绍了JavaWeb 文件上传下载功能简单实现代码,需要的朋友可以参考下
  • javaweb文件上传下载

    2012-10-02 23:47:18
    javaweb文件上传下载
  • 主要介绍了JavaWeb如何实现本地文件上传功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 主要为大家详细介绍了JavaWeb文件上传开发实例,如何进行文件上传操作,感兴趣的小伙伴们可以参考一下
  • javaweb文件上传下载

    2011-04-06 23:37:41
    java web文件上传下载,实现基本功能供初学者学习使用
  • JavaWeb实现文件上传下载

    万次阅读 2018-07-26 17:22:25
    1.创建web项目 2. 上传文件页面 必须要设置input输入项的name属性,否则浏览器将不会发送上传文件...并使用MIME协议对上传文件进行描述,以方便接收方对上传数据进行解析和处理。 <%@ page conte...

    1.创建web项目

    2. 上传文件页面

    必须要设置input输入项的name属性,否则浏览器将不会发送上传文件的数据

    必须把form的enctype属值设为multipart/form-data.设置该值后,浏览器在上传文件时,将把文件数据附带在http请求消息体中,

    并使用MIME协议对上传的文件进行描述,以方便接收方对上传数据进行解析和处理。

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <!-- 实现文件的上传 -->
    <!-- 1.要上传文件 表单提交请求的方式必须为post请求 -->
    <!-- 2.要上传文件 需要设置form表单的enctype
    	application/x-www-form-urlencoded是form表单enctype的默认值
    	需要将enctype的值设置为 multipart/form-data
    -->
    <form action="/UploadServlet" enctype="multipart/form-data" method="post">
        上传用户:<input type="text" name="username"><br/>
        上传文件:<input type="file" name="file1"><br/>
        上传文件:<input type="file" name="file2"><br/>
        <input type="submit" value="提交">
    </form>
    </body>
    </html>

    3.

    使用Commons-fileupload组件实现文件上传,需要导入该组件相应的支撑jar包:Commons-fileupload和commons-io。

    将jar包放置lib文件夹下后,还需配置他的位置信息

    4.上传文件Servlet

    DiskFileItemFactory 是创建 FileItem 对象的工厂

    ServletFileUpload 负责处理上传的文件数据,并将表单中每个输入项封装成一个 FileItem 对象中

    FileItem类负责处理表单提交的字段

    上传文件步骤:

     

    1. 创建DiskFileItemFactory对象,设置缓冲区大小和临时文件目录;
    2. 使用DiskFileItemFactory 对象创建ServletFileUpload对象,并设置上传文件的大小限制;
    3. 调用ServletFileUpload.parseRequest方法解析request对象,得到一个保存了所有上传内容的List对象;
    4. 对list进行迭代,每迭代一个FileItem对象,调用其isFormField方法判断是否是上传文件;如果是上传文件,则写出上传数据。
    package com.study;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.Date;
    import java.util.List;
    
    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 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;
    
    @WebServlet("/UploadServlet")
    public class UploadServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
        public UploadServlet() {
            super();
        }
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doPost(request,response);
        }
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            //获得一个文件上传的工厂类
            DiskFileItemFactory dfif = new DiskFileItemFactory();//DiskFileItemFactory 是创建 FileItem 对象的工厂
            //设置文件上传临时存储的大小8M
            dfif.setSizeThreshold(1024*1024*8);
            //指定临时文件目录,默认值为当前用户的系统临时文件目录,可通过System.getProperty(“java.io.tmpdir”)打印查看;
            dfif.setRepository(new File("java.io.tmpdir"));
            System.out.println(System.getProperty("java.io.tmpdir"));
            //使用servlet来处理文件上传
            ServletFileUpload upload = new ServletFileUpload(dfif);
            //设置文件上传的大小
            upload.setSizeMax(1024*1024*50);
            //获得当前服务器的路径
            String uploadPath = this.getServletContext().getRealPath("");
            System.out.println("当前服务器路径---->"+uploadPath);
            uploadPath = uploadPath+"..\\"+"upload";
            File uploadDir = new File(uploadPath);
            if(!uploadDir.exists()){
                uploadDir.mkdir();
            }
            try {
                List<FileItem> formItem = upload.parseRequest(request);
                if(formItem != null && formItem.size() >0){
                    //循环遍历要上传的文件
                    for(FileItem item : formItem){
                        if(!item.isFormField()){
    			//获得要上传的文件的名字
                            String fileName = new File(item.getName()).getName();
                            //fileName = new Date().getTime()+(int)(Math.random()*100)+fileName;
    
                            //目的文件
                            String filePath = uploadPath+"\\"+fileName;
                            File storeFile = new File(filePath);
                            item.write(storeFile);
    
                            System.out.println(fileName);
                            System.out.println(filePath);
                            //request.setAttribute("fileName", fileName);
                        }
                    }
                }
            } catch (FileUploadException e) {
                e.printStackTrace();
                request.setAttribute("message", "文件上传失败:"+e.getMessage());
                request.getRequestDispatcher("error.jsp").forward(request, response);
            } catch (Exception e) {
                e.printStackTrace();
            }
            request.getRequestDispatcher("upload.jsp").forward(request, response);
        }
    
    }
    
    

     5.下载文件页面

    <body>
    <!-- 实现文件下载 需要跳转至servlet 用流来处理 -->
    <a href="/DownLoadServlet"><h3>下载</h3></a>
    </body>

    6.下载文件Servlet

    服务器希望浏览器不直接处理相应的实体内容,而是由用户选择将相应的实体内容保存到一个文件

    这需要设置 Content-Disposition 响应头。

    先使用文件输入流 将文件读到内存中 再使用输出流 将文件输出给用户

    package com.study;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    
    import javax.servlet.ServletException;
    import javax.servlet.ServletOutputStream;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    @WebServlet("/DownLoadServlet")
    public class DownLoadServlet extends HttpServlet {
    	private static final long serialVersionUID = 1L;
    
        public DownLoadServlet() {
            super();
        }
    
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doPost(request,response);
    	}
    
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		//实现文件下载 设置响应头
    		String fileName = this.getServletContext().getRealPath("")+"../"+"upload/"+"zly.jpg";
    		response.setHeader("Content-Disposition", "attachment;filename="+fileName);
    		System .out.print("fileName"+fileName);
    		//先使用文件输入流 将文件读到内存中 再使用输出流 将文件输出给用户
    		File file = new File(fileName);
    		FileInputStream fileIn = new FileInputStream(file);
    		//准备一个缓冲区
    		byte[] b = new byte[(int)file.length()];
    		//将文件读入缓冲区中
    		fileIn.read(b);
    		//获得响应的输出流
    		ServletOutputStream sout = response.getOutputStream();
    //调用response.getOutputStream()方法返回 ServeltOutputStream 对象来向客户端写入文件内容。
    		sout.write(b);
    		sout.close();
    	}
    }
    

     

    展开全文
  • 本篇文章主要介绍了Javaweb实现上传下载文件,有多种实现方式,需要的朋友可以参考下。
  • 代码是对Javaweb中Excel的上传下载的学习,开发工具用到Eclipse和MySQL。代码中sql文件是MySQL导出的数据文件
  • javaWeb文件上传下载

    2017-07-12 23:15:16
    在Web应用系统开发中,文件上传下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传下载功能的实现
  • 展示上传下载结果 上传状态:${messages} 用户名 : ${requestScope.username} 文件1 : ${requestScope.file1 } 文件2 : ${requestScope.file2} 3:创建servlet为:UploadServlet.java ...
    经过看别人写的代码然后自己实际操作一遍,基本都是搬运也是为了练习。
    说明:
       对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参 数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件。这个common-fileupload上 传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,struts上传的功能就是基于这个实现的。 common-fileupload是依赖于common-io这个包的,所以还需要下载这个包。
    
    1:创建fileUpLoad.jsp
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>实现文件上下传</title>
    </head>
    <body>
    <form action="UploadServlet" method="post" enctype="multipart/form-data">  
            用户名: <input type="text" name="username" /><br>
            文件1: <input type="file" name="file1"><br>
            文件2: <input type="file" name="file2"><br>
            <input type="submit" value="上传文件">
    </form>
    </body>
    </html>
    2:创建展示上传状态的页面fileUploadResult.jsp
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
        <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>展示上传下载结果</title>
    </head>
    <body>
     上传状态:${messages}<br>          
     用户名 : ${requestScope.username} <br>
     文件1  : ${requestScope.file1 }<br>
     文件2 : ${requestScope.file2}<br>
    </body>
    </html>
    3:创建servlet为:UploadServlet.java
    package package1;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.List;
    
    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 org.apache.commons.fileupload.FileItem;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    @WebServlet("/UploadServlet")
    public class UploadServlet extends HttpServlet {
    	private static final long serialVersionUID = 1L;
      
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		//得到上传文件的保存目录(为了文件的安全首先将其目录放在webroot目录下)
    		String path=this.getServletContext().getRealPath("/upload");
    		File file=new File(path);
    		//判断上传的文件保存目录是否存在
    		if(!file.exists() && !file.isDirectory()) {
    			System.out.println(path + "目录不存在,需要创建!");
    			//创建目录
    			file.mkdir();
    		}
    		//消息显示
    		String message="";
    		try {
    			//使用Apache上传文件,处理文件上传步骤
    			//1:创建一个DiskFileItemFactory工厂
    			DiskFileItemFactory factory=new DiskFileItemFactory();
    			//2:创建一个文件上传解析器
    			ServletFileUpload upload=new ServletFileUpload(factory);
    			//解决中文乱码
    			upload.setHeaderEncoding("UTF-8");
    			//3:判断提交的表单为普通表单还是带文件上传的表单
    			if(!ServletFileUpload.isMultipartContent(request)) {
    				//如果表单为普通数据表单,则按照传统的方式获取数据
    				return;
    			}
    			//4.使用ServletFileUpload解析器解析上传数据,解析结果返回的是一个List<FileItem>集合,每一个
                    FileItem对应一个Form表单的输入项
    			List<FileItem> list=upload.parseRequest(request);
    			for(FileItem item:list) {
    				//如果fileItem中封装的是普通输入项的数据
    				if(item.isFormField()) {
    					//获取字段名字
    					String name=item.getFieldName();
    					//解决普通输入项中中文乱码问题
    					String value=item.getString("UTF-8");
    					System.out.println(name + " = " + value);
    				}else {
    					//如果表单中提交的是上传文件
    					//获得上传的文件名称
    					String filename=item.getName();
    					System.out.println(filename);
    					if(filename==null || filename.trim().equals("")) {
    						continue;
    					}
    					/**
    					 * 注意:不同的浏览器提交的文件名称是不一样的,有些浏览器提交的文件会带有路径,
    					 * 如“D:\\project\WebRoot\hello.jsp”,有一些是单纯的文件名:hello.jsp
    					 */
    					//去掉获取到文件名中的路径名,保留单纯的文件名
    					filename=filename.substring(filename.lastIndexOf("\\")+1);
    					//获取item中的上传文件的输入流
    					InputStream in=item.getInputStream();
    					//创建一个文件输入流
    					FileOutputStream out=new FileOutputStream(path+"\\"+filename);
    					//创建一个缓冲区
    					byte buffer[] =new byte[1024];
    					//判断输入流中的数据读取完毕
    					int len = 0;
    					//循环将输入流读入到缓冲区当中(len = in.read(buffer)>0)就表示in里面还有数据存在
    					while ((len=in.read(buffer))>0) {
    					//使用FileOutputStream输出流将缓冲区的数据写入到指定的目录(path+"\\"+filename)当中
    						out.write(buffer, 0, len);
    					}
    					//关闭输入流
    					in.close();
    					//关闭输出流
    					out.close();
    					//删除处理文件上传时生成的的临时文件
    					item.delete();
    					message="上传成功";
    				}
    			}
    		} catch (Exception e) {
    			// TODO: handle exception
    			message="文件上传失败";
    			e.printStackTrace();
    		}
    		request.setAttribute("messages", message);
    		request.getRequestDispatcher("/fileUploadResult.jsp").forward(request, response);
    	}
    }
    4:配置web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>TestDemo3</display-name>
      <servlet>
        <servlet-name>UploadServlet</servlet-name>
        <servlet-class>package1.UploadServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>UploadServlet</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
    </web-app>
    5:启动项目可能回出现:上传成功但是在自己定义的文件加下找不到上传的文件,可以这样修改下

     

    6:下载功能:使用 response.getOutputStream(); 返回二进制数据流,实现文件下载
    说明:
    web项目大部分文件下载不需要写代码实现,只需通过超链接即可实现,就是通过超链接,在连接地址里写上文件的路径,浏览器会自动打开该文件,如果是普通的文本,图片等浏览器能直接显示内容的浏览器都能直接打开并显示,但如果是浏览器无法打开的文件,比如rar,docx,exe等等,那么浏览器就会提示你下载改文件或者使用当前系统自带的工具打开该文件
    代码实现:
    package package1;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.URLEncoder;
    
    import javax.servlet.ServletException;
    import javax.servlet.ServletOutputStream;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    @WebServlet("/doLoadServlet")
    public class doLoadServlet extends HttpServlet {
    	private static final long serialVersionUID = 1L;
       
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		// 1、文件存放路径
            String path="D:\\eclips\\workspace\\TestDemo3\\WebContent\\upload";
            // 2、需要下载的文件名
            String fileName="/ss10.jpg";
            File file = new File(path+fileName);
            response.reset();
            response.setCharacterEncoding("UTF-8");
            fileName = URLEncoder.encode(fileName, "UTF-8");
            response.setHeader("Content-Disposition", "attachment;fileName="+fileName);
            InputStream input = new FileInputStream(file);
            ServletOutputStream out = response.getOutputStream();
            byte[] buff =new byte[1024];
            int len ;
            while((len = input.read(buff)) != -1){
                out.write(buff, 0, len);
                out.flush();
            }
            input.close();
            out.close();
    	}
    	@Override
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		doGet(request, response);
    	}
    }
    
    下载界面:doLoad.jsp
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <a href="upload/ss10.jpg">文件下载</a>
    </body>
    </html>
    
    配置web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>TestDemo3</display-name>
      <servlet>
        <servlet-name>doLoadServlet</servlet-name>
        <servlet-class>package1.doLoadServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>doLoadServlet</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
    </web-app>

    转载于:https://my.oschina.net/u/3740271/blog/3004381

    展开全文
  • 主要为大家详细介绍了JavaWeb实现多文件上传及zip打包下载,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • JavaWeb实现文件上传下载JavaWeb中想要实现文件上传,通常需要完成两步操作:一是在web页面上添加上传输入项;二是在Servlet中读取上传文件的数据。 一:在web页面上添加输入项 大多数的文件上传都是通过表单...

    JavaWeb实现文件的上传和下载

    在JavaWeb中想要实现文件上传,通常需要完成两步操作:一是在web页面上添加上传输入项;二是在Servlet中读取上传文件的数据。

    一:在web页面上添加输入项

    大多数的文件上传都是通过表单形式提交给服务器,故若想实现文件上传,先创建一个用于上传文件的表单:

    • 表单设置
      1. 将method设置为POST
      2. 将enctype设置为“multipart/form-data”类型(用于提交包含文件,非ASCII数据和二进制数据的表单)
      3. action设置为"UploadServlet"(响应表单的那个Servlet)
    • input输入组件设置
      1. 必须设置input输入项的name属性,否则浏览器将不会发送上传的文件数据(下面详解)
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <form action="UploadServlet" method="post" enctype="multipart/form-data">
    	<table width="300px">
    		<tr>
    			<td>上传者</td>
    			<td><input name="name" type="text" /></td>
    		</tr>
    		<tr>
    			<td>上传文件</td>
    			<td><input name="file" type="myfile" /></td>
    		</tr>
    		<tr>
    			<td colspan="2"><input type="submit" value="上传"></td>
    		</tr>
    	</table>
    </form>
    </body>
    </html>
    

    在这里插入图片描述

    二: 在Servlet中读取上传文件的数据

    实现文件上传目前使用较多的为开源组件Commons-FileUpload。

    Commons-FileUpload组件实现文件上传流程

    在这里插入图片描述
    在servlet响应处理过程中有三个至关重要的类/接口:

    FileItem接口:用于封装单个表单字段元素的数据,一个表单字段元素对应一个FileItem对象

    如下图就是两个表单字段元素,对应可以生成两个FileItem对象
    在这里插入图片描述
    在FileItem接口里定义了许多获取表单字段元素的方法,这些方法在实现文件上传时起了至关重要的作用
    FIleItem的方法我写在了另外一篇博客,需要的可以查看
    戳这看FileItem的具体方法


    DiskFileItemFactory类
    DiskFileItemFactory类用于将请求消息实体中的每一个文件封装陈单独的FileItem对象。在实际应用中我们更显而易见的是它设置上传文件缓存目录的功能
    DiskFileItemFactory类的使用,戳它~


    ServletFileUpload类
    ServletFileUpload类,处理文件上传的核心高级类,通过使用parseRequest(HttpServletRequest)方法将HTML中的每个表单提交的数据封装成一个FileItem对象,然后一List列表形式返回。

    ServletFileUpload类的使用方法,戳它~

    代码示例今晚上传嘿嘿~

    展开全文
  • javaweb文件上传下载

    万次阅读 多人点赞 2018-08-24 14:14:53
    一、文件上传 要实现Web开发的上传功能,通常需要完成两步操作:一是在Web页面中添加上传输入项;二是在Servlet中读取上传文件的数据,并保存到本地硬盘中。 上传大多数情况是通过表单的形式提交给服务器,使用&...
  • 在上传文件夹中下载文件 2.总体设计: 技术:Jsp+Servlet+IO Jar包: 功能设计: 1.安全起见,上传文件放在后台 2.防止文件覆盖,为上传文件生成唯一文件名 3.防止目录堆叠,利用hash算法打散存储 4.防止文件过...
  • 代码: ...目前为止,共写了三个版本的文件上传下载。 其他版本: 使用Comm组件(最简单): https://blog.csdn.net/qq_38038143/article/details/84960993 使用Smart组件(稍复杂): ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,576
精华内容 6,230
关键字:

javaweb文件上传下载

java 订阅