Java怎么实现文件上传和下载的功能
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"Java怎么实现文件上传和下载的功能",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java怎么实现文件上传和下载的功能"吧!第一步
千家信息网最后更新 2026年11月01日Java怎么实现文件上传和下载的功能
这篇文章主要讲解了"Java怎么实现文件上传和下载的功能",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java怎么实现文件上传和下载的功能"吧!
第一步:导包
导入commons-fileupload-1.3.3.jar和commons-io-2.4.jar两个依赖包
第二步:编写前端页面
1、提交页面 index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> Insert title here 2、结果页面 result.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>Insert title here
第三步:编写上传和下载代码
1、上传图片 fileUpload.java
package cn.yz123123.controller;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import javax.servlet.ServletException;import javax.servlet.annotation.MultipartConfig;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.Part;@WebServlet("/fileUpload")@MultipartConfigpublic class fileUpload extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //String username = request.getParameter("username"); Part part = request.getPart("img"); //获取文件的真实名称 String header = part.getHeader("content-disposition"); String realName = header.substring(header.indexOf("filename=")+10, header.length()-1); //获取文件自身流 InputStream inputStream = part.getInputStream(); //获取file真实路径,如果没有则创建 String dir = request.getServletContext().getRealPath("/file/"); File dirFile = new File(dir); //上面只是实例化了一个对象,并没有真正的创建一个文件夹 if (!dirFile.exists()) { dirFile.mkdirs(); } //创建文件对象,并用流的形式写在相应的文件夹中 File file = new File(dir, realName); FileOutputStream fileOutputStream = new FileOutputStream(file); byte[] buf = new byte[1024]; int len; while((len=inputStream.read(buf))!=-1) { fileOutputStream.write(buf, 0, len); } fileOutputStream.close(); inputStream.close(); //以下为测试 request.setAttribute("src", request.getContextPath()+"/file/"+realName); request.setAttribute("filename", realName); request.getRequestDispatcher("/result.jsp").forward(request, response); } }2、下载图片 fileDownload.java
package cn.yz123123.controller;import java.io.FileInputStream;import java.io.IOException;import java.util.UUID;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(urlPatterns = "/download")public class fileDownload extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String filename = req.getParameter("filename"); //获取文件的真实路径 String filePath = req.getServletContext().getRealPath("/file/"+filename); FileInputStream fileInputStream = new FileInputStream(filePath); resp.setCharacterEncoding("UTF-8"); resp.setHeader("Content-Disposition","attachment;filename="+UUID.randomUUID()+filename); ServletOutputStream outputStream = resp.getOutputStream(); byte[] buf = new byte[1024]; int len; while((len=fileInputStream.read(buf))!=-1) { outputStream.write(buf, 0, len); } outputStream.close(); fileInputStream.close(); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doGet(req, resp); }}感谢各位的阅读,以上就是"Java怎么实现文件上传和下载的功能"的内容了,经过本文的学习后,相信大家对Java怎么实现文件上传和下载的功能这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
文件
功能
页面
学习
内容
图片
对象
文件夹
路径
两个
代码
前端
只是
名称
头像
实例
就是
形式
思路
情况
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
耶加雪菲
互联网科技名片
天津市摩尔互联网科技
亿人帮互联网科技有限公司
互联网最新的科技
鸠鸠互联网科技
互联网 科技
互联网 卓越科技
紫鲸互联网科技
深圳艾佳互联网科技
互联网科技公司招聘
北京三清互联网科技
成都互联网科技公司100强
厦门千工互联网科技有限公司
洛阳昕诺飞互联网科技有限公司
佛山市拉法互联网科技有限公司
每天都有哪些好的互联网科技
智帮互联网科技公司最近动向
米泉互联网科技专业怎么样
互联网科技对化妆品行业
云南咖啡
互联网科技园
互联网为科技
喔噻互联网科技
深圳齐家互联网科技
湖北码尼互联网科技有限公司电话
成都互联网科技公司工作好不好
互联网金融科技名词解释
互联网方面的科技前沿
西安有哪些互联网高科技企业