广告
返回顶部
首页 > 资讯 > 精选 >JavaWeb中上传和下载文件实例代码
  • 563
分享到

JavaWeb中上传和下载文件实例代码

javaweb上传下载ava 2023-05-31 12:05:29 563人浏览 独家记忆
摘要

一丶先引入上传下载的lib二丶上传的的servletpackage com.test.action;import java.io.File;import java.io.FileOutputStream;import java.io.IOE

一丶先引入上传下载的lib

JavaWeb中上传和下载文件实例代码

二丶上传的的servlet

package com.test.action;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;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("/upload")public class FileUpLoadAction extends HttpServlet {  private static final long serialVersionUID = 1L;  protected void doPost(HttpServletRequest request,      HttpServletResponse response) throws ServletException, IOException {    // 设置编码    request.setCharacterEncoding("utf-8");     //对提交的数据进行处理,保存上传文件     boolean success = processUpload(request);    if(success){      //获取表单text控件的值      String account = request.getAttribute("account").toString();      System.out.println(account);      //获取文件上传的原始名称      String fileName = request.getAttribute("upfile").toString();      System.out.println(fileName);      //获取文件上传后,服务器上保存的名字      String fileNameServer = request.getAttribute("upfileServer").toString();      System.out.println(fileNameServer);      request.setAttribute("upfile", fileNameServer);      request.setAttribute("message", "上传成功");    }    request.getRequestDispatcher("/upload.jsp").forward(request, response);  }  private boolean processUpload(HttpServletRequest request) {    boolean success = true;    String message = null;    // 获取文件需要上传到的路径    String path = request.getServletContext().getRealPath("/upload");    System.out.println(path);    // 如果此文件夹不存在,则构造此文件夹    File f = new File(path);    if (!f.exists()) {      f.mkdir();    }    // 构造出文件工厂,用于存放JSP页面中传递过来的文件    DiskFileItemFactory factory = new DiskFileItemFactory();    // 设置上传文件的保存路径    factory.setRepository(f);    // 设置缓存大小,如果文件大于缓存大小时,则先把文件放到缓存中    factory.setSizeThreshold(1 * 1024 * 1024);    ServletFileUpload upload = new ServletFileUpload(factory);    // 设置可以上传文件大小的上界20MB    upload.setSizeMax(20 * 1024 * 1024);    try {      // 可以上传多个文件      List<FileItem> list = (List<FileItem>) upload.parseRequest(request);      for (FileItem item : list) {        // 获取表单的属性名字        String name = item.getFieldName();        if (item.isFORMField()) {          String value = item.getString();          //解决乱码问题          value = new String(value.getBytes("iso-8859-1"),"utf-8");           request.setAttribute(name, value);        } else {          // 获得文件类型          String contentType = item.getContentType();          // 获得文件大小          long fileSize = item.getSize();          // 获取路径名          String value = item.getName();          // 索引到最后一个反斜杠          int start = value.lastIndexOf("\\");          // 截取 上传文件的 字符串名字,加1是 去掉反斜杠,          String filename = value.substring(start + 1);          if (filename != null && !filename.trim().equals("")) {            // 如果上传的文件不是图片,那么不上传            String allImgExt = ".jpg|.jpeg|.gif|.bmp|.png|";            String extName = filename.substring(filename.indexOf("."), filename.length());            if (allImgExt.indexOf(extName + "|") == -1) {              message = "该文件类型不允许上传。请上传 " + allImgExt                  + " 类型的文件,当前文件类型为" + extName;              success = false;              break;            }            request.setAttribute(name, filename);            // 随机数产生名称            String newName = System.currentTimeMillis() + extName;            request.setAttribute(name + "Server", newName);            // 将文件保存到服务器中            InputStream in = item.getInputStream();            // 原文件名            // OutputStream out = new FileOutputStream(new File(path, filename));            // 随机数文件名            OutputStream out = new FileOutputStream(new File(path,                newName));            int length = 0;            byte[] buf = new byte[1024];            while ((length = in.read(buf)) != -1) {              out.write(buf, 0, length);            }            in.close();            out.close();          }        }      }    } catch (FileUploadException e) {      message = "文件的内容过大,请上传小于20MB的文件" ;      success = false;      e.printStackTrace();    } catch (IOException e) {      success = false;      e.printStackTrace();    }    request.setAttribute("message", message);    return success;  }}

--结束END--

本文标题: JavaWeb中上传和下载文件实例代码

本文链接: https://www.lsjlt.com/news/225345.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaWeb中上传和下载文件实例代码
    一丶先引入上传下载的lib二丶上传的的servletpackage com.test.action;import java.io.File;import java.io.FileOutputStream;import java.io.IOE...
    99+
    2023-05-31
    javaweb 上传下载 ava
  • JavaWeb 文件的上传和下载功能简单实现代码
    一、文件的上传和下载1、文件上传的原理分析     1、文件上传的必要前提:          a、提供for...
    99+
    2023-05-31
    java web 文件上传
  • JavaWeb Servlet实现文件上传与下载功能实例
    目录前言项目准备文件上传前台页面文件下载资源准备超链接下载后台实现下载总结前言 在上网的时候我们常常遇到文件上传的情况,例如上传头像、上传资料等;当然除了上传,遇见下载的情况也很多,...
    99+
    2022-11-13
  • JavaWeb实现文件的上传与下载
    JavaWeb实现文件的上传与下载,供大家参考,具体内容如下 第一步:导包 导入commons-fileupload-1.3.3.jar和commons-io-2.4.jar两个依赖...
    99+
    2022-11-12
  • PHP实现文件上传和下载的示例代码
    目录1.效果图2.首先是封装好的图片类(缩放及生成水印)1.GDBasic.php2.Image.php3.ajax类封装文件1.index.php2.图片相关功能处理3.封装好的文...
    99+
    2022-11-13
  • SpringCloudFeign实现文件上传下载的示例代码
    目录独立使用Feign上传文件下载文件使用Spring Cloud Feign上传文件下载文件总结 Feign框架对于文件上传消息体格式并没有做原生支持,需要集成模块fei...
    99+
    2022-11-13
  • Struts2 控制文件上传下载功能实例代码
    之前介绍servlet3.0新特性的时候有提到过servlet API提供了一个part类来实现对文件的上传和保存,Struts其实是在其基础上做了进一步的封装,更加简单易用。至于文件下载,Struts贯彻AOP 思想,在下载之前提供对用户...
    99+
    2023-05-31
    struts2 上传 下载
  • Go Gin实现文件上传下载的示例代码
    Go Gin 实现文件的上传下载流读取 文件上传 router router.POST("/resources/common/upload", service.Uploa...
    99+
    2022-06-07
    gin GO 示例 文件上传
  • JavaWeb是如何实现文件上传和下载功能
    这篇文章将为大家详细讲解有关JavaWeb是如何实现文件上传和下载功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 文件传输原理及介绍2. JavaWeb文件上传2.1我们用一个新的方...
    99+
    2023-06-22
  • JavaWeb文件上传实例分析
    这篇文章主要介绍“JavaWeb文件上传实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaWeb文件上传实例分析”文章能帮助大家解决问题。文件上传实际上...
    99+
    2022-10-19
  • 详解JavaWeb如何实现文件上传和下载功能
    目录1.文件传输原理及介绍2.JavaWeb文件上传2.1我们用一个新的方式创建项目2.2导包2.3实用类介绍2.4pom.xml导入需要的依赖2.5index.jsp2.6info...
    99+
    2022-11-12
  • JavaWeb实现文件上传和下载接口功能详解
    目录1.上传java代码实现2.文件流下载java代码实现3.Fileutil工具类代码1.上传java代码实现 @ResponseBody @PostMapping...
    99+
    2022-12-27
    Java Web文件上传下载 Java Web文件上传 Java Web文件下载 Java 文件上传下载
  • SpringBoot实现文件上传与下载功能的示例代码
    目录Spring Boot文件上传与下载举例说明1.引入Apache Commons FileUpload组件依赖2.设置上传文件大小限制3.创建选择文件视图页面4.创建控制器5.创...
    99+
    2022-11-13
  • ASP.NETCore实现文件上传和下载
    本文实例为大家分享了ASP.NET Core实现文件上传和下载的具体代码,供大家参考,具体内容如下 一、文件上传 1.1 获取文件后缀 /// <summary> ///...
    99+
    2022-11-13
  • Go实现文件上传和下载
    本文实例为大家分享了Go实现文件上传和下载的具体代码,供大家参考,具体内容如下 一.文件上传 文件上传:客户端把上传文件转换为二进制流后发送给服务器,服务器对二进制流进行解析 HTM...
    99+
    2022-11-11
  • vue实现文件上传和下载
    本文实例为大家分享了vue实现文件上传和下载的具体代码,供大家参考,具体内容如下 文件上传 vue中的文件上传主要分为两步:前台获取到文件和提交到后台 获取文件 前台获取文件,主要是...
    99+
    2022-11-12
  • springMVC实现文件上传和下载
    本文实例为大家分享了springMVC实现文件上传和下载的具体代码,供大家参考,具体内容如下 1准备工作 web.xml文件导入DispatcherServlet,Character...
    99+
    2022-11-12
  • java实现文件上传和下载
    本文实例为大家分享了java实现文件上传和下载的具体代码,供大家参考,具体内容如下 文件的上传 upload:文件上传 客户端通过表单的文件域file  把客户端的文件 上...
    99+
    2022-11-12
  • JavaWeb中怎么实现文件上传
    这期内容当中小编将会给大家带来有关JavaWeb中怎么实现文件上传,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。引入依赖当然在引入依赖之前我们需要先创建一个被Maven管理的Web Project,创建方...
    99+
    2023-06-19
  • Python使用sftp实现上传和下载功能(实例代码)
    在Python中可以使用paramiko模块中的sftp登陆远程主机,实现上传和下载功能。 1.功能实现 根据输入参数判断是文件还是目录,进行上传和下载 本地参数local需要与远程参数remote类型一致...
    99+
    2022-06-04
    实例 上传 代码
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作