JSP上传文件到指定位置实例代码

下面我将详细讲解“JSP上传文件到指定位置实例代码”的完整攻略:

标题

JSP上传文件到指定位置实例代码

代码实现步骤

  1. 首先在 JSP 页面中使用 input 标签设置一个文件上传表单:
<form action="upload.jsp" method="post" enctype="multipart/form-data">
    <input type="file" name="file" id="file">
    <input type="submit" value="上传">
</form>
  1. 在 upload.jsp 页面中,通过 request 对象获取上传的文件并保存到指定位置。
<%@ page language="java" %>
<%@ page import="java.io.*, java.util.*, javax.servlet.*, javax.servlet.http.*" %>
<%
String savePath = "D:/upload/"; //指定上传文件的保存位置
File fileSaveDir = new File(savePath);
if (!fileSaveDir.exists()) {
    fileSaveDir.mkdir();
}

String fileName = "";
String contentType = request.getContentType();
if ((contentType != null) && (contentType.indexOf("multipart/form-data") >= 0)) {
    DataInputStream in = new DataInputStream(request.getInputStream());
    int formDataLength = request.getContentLength();
    byte dataBytes[] = new byte[formDataLength];
    int byteRead = 0;
    int totalBytesRead = 0;
    while (totalBytesRead < formDataLength) {
        byteRead = in.read(dataBytes, totalBytesRead, formDataLength);
        totalBytesRead += byteRead;
    }
    fileName = request.getParameter("file");
    String filePath = savePath + "\\" + fileName;
    FileOutputStream fileOut = new FileOutputStream(filePath);
    fileOut.write(dataBytes);
    fileOut.flush();
    fileOut.close();
}
%>
  1. 最后对上传成功或失败进行页面提示。
<%@ page contentType="text/html;charset=utf-8" language="java" %>
<html>
<head>
    <title>文件上传成功</title>
</head>
<body>
    <%
    if (fileName != "") {
        out.println("上传成功");
    } else {
        out.println("上传失败");
    }
    %>
</body>
</html>

以上就是 JSP 上传文件到指定位置的完整攻略。

示范示例1:上传图片文件

假设现在需要上传一张图片,那么可以按照以下步骤进行操作:

  1. 在 JSP 页面中使用 input 标签设置一个文件上传表单,并设置输入框的类型为 file:
<form action="upload.jsp" method="post" enctype="multipart/form-data">
    <input type="file" name="file" id="file">
    <input type="submit" value="上传">
</form>
  1. 在 upload.jsp 页面中,通过 request 对象获取上传的文件并保存到指定位置。我们这里将上传位置设置为 D:/upload/:
<%@ page language="java" %>
<%@ page import="java.io.*, java.util.*, javax.servlet.*, javax.servlet.http.*" %>
<%
String savePath = "D:/upload/"; //指定上传文件的保存位置
File fileSaveDir = new File(savePath);
if (!fileSaveDir.exists()) {
    fileSaveDir.mkdir();
}

String fileName = "";
String contentType = request.getContentType();
if ((contentType != null) && (contentType.indexOf("multipart/form-data") >= 0)) {
    DataInputStream in = new DataInputStream(request.getInputStream());
    int formDataLength = request.getContentLength();
    byte dataBytes[] = new byte[formDataLength];
    int byteRead = 0;
    int totalBytesRead = 0;
    while (totalBytesRead < formDataLength) {
        byteRead = in.read(dataBytes, totalBytesRead, formDataLength);
        totalBytesRead += byteRead;
    }
    fileName = new Date().getTime() + ".jpg"; // 重新生成文件名
    String filePath = savePath + "\\" + fileName;
    FileOutputStream fileOut = new FileOutputStream(filePath);
    fileOut.write(dataBytes);
    fileOut.flush();
    fileOut.close();
}
%>
  1. 最后对上传成功或失败进行页面提示:
<%@ page contentType="text/html;charset=utf-8" language="java" %>
<html>
<head>
    <title>文件上传成功</title>
</head>
<body>
    <%
    if (fileName != "") {
        out.println("上传成功");
    } else {
        out.println("上传失败");
    }
    %>
</body>
</html>

示范示例2:上传音视频文件

现在我们需要上传一段音频或视频文件,可以按照以下步骤进行操作:

  1. 在 JSP 页面中使用 input 标签设置一个文件上传表单,并设置输入框的类型为 file:
<form action="upload.jsp" method="post" enctype="multipart/form-data">
    <input type="file" name="file" id="file">
    <input type="submit" value="上传">
</form>
  1. 在 upload.jsp 页面中,通过 request 对象获取上传的文件并保存到指定位置。我们这里将上传位置设置为 D:/upload/:
<%@ page language="java" %>
<%@ page import="java.io.*, java.util.*, javax.servlet.*, javax.servlet.http.*" %>
<%
String savePath = "D:/upload/"; //指定上传文件的保存位置
File fileSaveDir = new File(savePath);
if (!fileSaveDir.exists()) {
    fileSaveDir.mkdir();
}

String fileName = "";
String contentType = request.getContentType();
if ((contentType != null) && (contentType.indexOf("multipart/form-data") >= 0)) {
    DataInputStream in = new DataInputStream(request.getInputStream());
    int formDataLength = request.getContentLength();
    byte dataBytes[] = new byte[formDataLength];
    int byteRead = 0;
    int totalBytesRead = 0;
    while (totalBytesRead < formDataLength) {
        byteRead = in.read(dataBytes, totalBytesRead, formDataLength);
        totalBytesRead += byteRead;
    }
    fileName = new Date().getTime() + ".mp4"; // 重新生成文件名
    String filePath = savePath + "\\" + fileName;
    FileOutputStream fileOut = new FileOutputStream(filePath);
    fileOut.write(dataBytes);
    fileOut.flush();
    fileOut.close();
}
%>
  1. 最后对上传成功或失败进行页面提示:
<%@ page contentType="text/html;charset=utf-8" language="java" %>
<html>
<head>
    <title>文件上传成功</title>
</head>
<body>
    <%
    if (fileName != "") {
        out.println("上传成功");
    } else {
        out.println("上传失败");
    }
    %>
</body>
</html>

以上就是基于 JSP 的文件上传到指定位置实现的完整攻略,具体的上传过程可根据自己的需求和情况进行调整。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JSP上传文件到指定位置实例代码 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • Java私有构造函数作用原理解析

    Java私有构造函数作用原理解析 在Java面向对象编程中,构造函数是非常基础的概念。一个类中的构造函数可以用来进行初始化操作,并且在创建new对象时被自动调用。然而,在某些情况下,我们需要禁止创建对象或者限制创建对象的种类,这时候可以使用私有构造函数。本文将详细解析私有构造函数的作用原理和使用技巧。 一、什么是私有构造函数 首先,来看一下如何定义私有构造函…

    Java 2023年5月26日
    00
  • 一文搞懂Java中对象池的实现

    一文搞懂Java中对象池的实现 什么是对象池? 对象池是一种用于缓存和重复利用对象的技术。Java中,我们可以利用对象池来减少系统中对象的创建和销毁,提升系统性能和效率。利用对象池可以避免频繁地创建和销毁对象,降低了系统中对象的创建和垃圾回收造成的开销,同时也可以重复利用对象,提高了系统的效率。 Java中对象池的实现 Java中,我们可以通过下面三种方式实…

    Java 2023年5月26日
    00
  • Java实现控制台输出两点间距离

    当我们需要实现Java控制台输出两点间距离时,可以按照以下步骤进行: 步骤一:创建一个Java文件 首先,我们需要在本地计算机上创建一个Java文件来存放我们的Java代码。我们可以使用文本编辑器来完成这项任务,如Notepad++、Sublime Text或Atom等编辑器。 步骤二:编写Java代码 接下来,我们需要编写Java代码,计算两个点间的距离。…

    Java 2023年5月26日
    00
  • springboot+gradle 构建多模块项目的步骤

    下面是详细讲解“springboot+gradle 构建多模块项目的步骤”的完整攻略。 四步构建多模块项目 第一步:创建父项目 在开始构建多模块项目之前,我们需要先创建一个父项目,用于管理多个子模块的依赖关系。使用gradle构建的项目通常有一个根目录,这个根目录下通常会有一个build.gradle文件,当然也可以包含其他文件和目录,具体的结构可以按照实际…

    Java 2023年5月31日
    00
  • Spring Boot 入门指南

    Spring Boot 入门指南 Spring Boot 是一种 Java Web 应用快速开发框架,它基于 Spring 框架,同时隐藏了部分繁琐冗余的配置,能够快速创建可扩展的 Web 应用,特别适合小型项目和原型开发。 开始使用 Spring Boot 安装 Spring Boot 在开始使用 Spring Boot 之前,需要先安装 Java 开发环…

    Java 2023年5月20日
    00
  • Spring boot异步任务原理全面分析

    Spring Boot异步任务原理全面分析 在Spring Boot中,我们经常需要执行一些耗时的操作,如果将它们放入主线程中进行,会导致响应变慢,用户体验不佳。而异步任务可以避免这种情况的出现。 什么是Spring Boot异步任务 Spring Boot异步任务是指在独立的线程中处理某些任务,将主线程从处理任务中解放出来的机制。Spring Boot提供…

    Java 2023年5月19日
    00
  • MybatisPlus,无XML分分钟实现CRUD操作

    关于”Mybatis Plus,无XML分分钟实现CRUD操作”的攻略,我可以提供以下内容: 什么是Mybatis Plus? Mybatis Plus是Mybatis的增强工具,在Mybatis基础上扩展了很多实用的功能,比如自动生成代码、分页查询、逻辑删除等,使得开发者可以更方便快捷地进行开发。同时,Mybatis Plus支持无XML配置,可以在很大程…

    Java 2023年5月20日
    00
  • 一分钟掌握Java Quartz定时任务

    一分钟掌握Java Quartz定时任务攻略 Java Quartz是一款轻量级的定时任务调度框架,它的使用非常简单,可以让开发者快速地实现定时任务调度。 Quartz的入门 在使用Quartz之前,需要先将Quartz的jar包导入到项目中。这里我们使用Maven进行依赖管理,只需要在pom.xml文件中增加如下依赖: <dependency>…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部