JSP文件上传

Jsp 使用 fileupload 文件上传和下载 前言Jsp文件上传的目前主要有两个常用的: 1、SmartUpload 2、Apache Commons fileupload我在期末的 Jsp大作业 使用到文件上传模块,使用了第二个 Apache 的包,这里写下它的普通用法和注意的问题、最重要的是介绍表单的文本信息和文件一块提交的写法。解决第一步、我们应该引入2个包:commons-fileupload-1.2.1.jar commons-i 阅读详情

好久没有用到文件上传了,很多的细节都忘记了,今天学习了一下,与大家分享,首先来看下性能较高的COS。
关于cos的历史就不啰嗦了,大家在Google一下就可以找到很多,主要来看下他的用法,在jsp中:

<form enctype="multipart/form-data" method = "post" action = "UploadServlet.do">
    
<input type="text" name="userName" /> 
   
<p>上传文件1:<input type = "file" name = "File1" size = "20" maxlength = "20"><br>
   
<p>上传文件2:<input type = "file" name = "File2" size = "20" maxlength = "20"><br>
   
<p>上传文件3:<input type = "file" name = "File3" size = "20" maxlength = "20"><br>
   
<p>上传文件4:<input type = "file" name = "File4" size = "20" maxlength = "20"><br>
   
<input type = "submit" value = "上传">
</form>

然后在UploadServlet中:

public void doGet(HttpServletRequest request, HttpServletResponse response)
            
throws ServletException, IOException {
        
//存绝对路径
        
//String filePath = "C://upload";
        
//存相对路径
        String filePath = getServletContext().getRealPath("/")+"upload";
        File uploadPath 
= new File(filePath);
        
//检查文件夹是否存在 不存在 创建一个
        if(!uploadPath.exists())
        {
            uploadPath.mkdir();
        }
        
//文件最大容量 5M
        int fileMaxSize = 5*1024*1024;
        
//存放文件描述
        String[] fileDiscription = {null,null};
        
//文件名
        String fileName = null;
        
//上传文件数
        int fileCount = 0;
        
//重命名策略
        RandomFileRenamePolicy rfrp=new RandomFileRenamePolicy();
        
//上传文件
        MultipartRequest mulit = new MultipartRequest(request,filePath,fileMaxSize,"UTF-8",rfrp);
        
        String userName 
= mulit.getParameter("userName");
        System.out.println(userName);
        
        Enumeration filesname 
= mulit.getFileNames();
          
while(filesname.hasMoreElements()){
               String name 
= (String)filesname.nextElement();
               fileName 
= mulit.getFilesystemName(name);
               String contentType 
= mulit.getContentType(name);
               
               
if(fileName!=null){
                   fileCount
++;
               }
               System.out.println(
"文件名:" + fileName);
               System.out.println(
"文件类型: " + contentType);
               
          }
          System.out.println(
"共上传" + fileCount + "个文件!");

    }


注意的是文件重命名策略,我们需要实现FileRenamePolicy接口中的rename方法:

package com.kay.util;

import java.io.File;
import java.util.Date;

import com.oreilly.servlet.multipart.FileRenamePolicy;

public class RandomFileRenamePolicy implements FileRenamePolicy {

    @Override
    
public File rename(File file) {
      String body
="";
      String ext
="";
      Date date 
= new Date();
      
int pot=file.getName().lastIndexOf(".");
      
if(pot!=-1){
          body
= date.getTime() +"";
          ext
=file.getName().substring(pot);
      }
else{
          body
=(new Date()).getTime()+"";
          ext
="";
      }
      String newName
=body+ext;
      file
=new File(file.getParent(),newName);
      
return file;

    }

}

cos的上传比较简单,但是我还没有发现怎么过滤文件后缀,知道的朋友给说下,所以我又看了JSPSmartLoad组件:
public void doGet(HttpServletRequest request, HttpServletResponse response)
            
throws ServletException, IOException {
        
//文件上传个数
        int count = 0;
        
//文件上传地址
        String filePath = getServletContext().getRealPath("/")+"smartUpload";
        
        
//如果文件夹不存在 则创建这个文件夹
        File file = new File(filePath);
        
if(!file.exists())
        {
            file.mkdir();
        }
        
//初始化对象
        SmartUpload su = new SmartUpload();
        su.initialize(getServletConfig(),request,response);
        
        
//设置文件最大容量
        su.setMaxFileSize(10*1024*1024);
        
//设置所有文件最大容量
        su.setTotalMaxFileSize(100*1024*1024);
        
//设置上传文件类型
        su.setAllowedFilesList("rar,txt,jpg,bmp,gif");
        
        
        
        
try {
            
//设置禁止上传的文件类型
            su.setDeniedFilesList("jsp,js,html,css");
            
//上传文件
            su.upload();
            System.out.println(
"userName=" + su.getRequest().getParameter("userName"));
            count 
= su.save(filePath);
        } 
catch (SQLException e) {
            e.printStackTrace();
        } 
catch (SmartUploadException e) {
            e.printStackTrace();
        }
    
        
for (int i = 0; i < su.getFiles().getCount(); i++) {
            com.jspsmart.upload.File tempFile 
= su.getFiles().getFile(i);
            System.out.println(
"-------------------------------------------------");
            System.out.println(
"表单项名称:" + tempFile.getFieldName());
            System.out.println(
"文件名:" + tempFile.getFileName());
            System.out.println(
"文件长度:" + tempFile.getSize());
            System.out.println(
"文件扩展名:" + tempFile.getFileExt());
            System.out.println(
"文件全名:" + tempFile.getFilePathName());
            System.out.println(
"-------------------------------------------------");
        }
        System.out.println(
"上传成功!共" + count + "个文件!");
        
        
    }
在这个方法中需要注意的是,我们要拿表单上的其他元素的值,我们需要在su.upload()方法后去使用su.getRequest().getParameter("userName")来获得表单的值,不能使用request。

第7篇——JSP之简单的文件上传 通过JSP实现文件上传,上传地址。 教程 https://www.w3cschool.cn/jsp/jsp-file-uploading.html 1、创建文件上传的表单 (1)文件选择输入框: type="file" (2)type="submit"的输入框 (3)表单属性: method="post",action="xxx.jsp"(提供文件上传处理页面),enctype="multipar... 阅读详情

相关推荐

【C++】C++异常语法、使用、规范、异常安全及异常的优缺点

实际中我们可以可以去继承exception类实现自己的异常类。但是实际中很多公司像上面一样自己定义一套异常继承体系。因为C++标准库设计的不够好用。如果有一个块抛出一个异常,捕获异常的方法会使用 try 和 catch 关键字。try 块中放置可能抛出异常的代码,try 块中的代码被称为保护代码。C++ 提供了一系列标准的异常,定义在 中,我们可以在程序中使用这些标准的异常。异常是一种处理错误的方式,

weixin_51692487的博客 1525

jsp文件上传

在jsp文件中需要以form标签开头 <form action="h1" method="post" enctype="multipart/form-data" > 才能实现上传文件 <input type="file" name="photo"/><br/> <input type="submit" value="上传"/> 需要在服务器编写对应的程序代码 当文件上传后它是以二进制流是形式进行传输,所以普通的以name值字段直接进行

qq_44922919的博客 847

Xilinx HydraMini试玩教程

HydraMini是Xilinx推出的基于Pynq-Z2开发板的自动驾驶开发小车,其有着简单易学、高灵活性、高扩展性、高性能等优良特性,是研究人员和学生进入自动驾驶领域的一个平台。本教程会通过最基础的讲解和步骤带领读者熟悉这个平台的基本开发流程。

qq_25762163的博客 1773

根据你所选择的文件个数,实现多文件上传

1.jsp页面 思路:根据你所选择的下拉框中的个数,显示多个文件上传列表。 &lt;%@ page contentType="text/html;charset=gbk"%&gt;&lt;%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%&gt;&lt;%@ taglib uri="/WEB-INF/struts-html.tld&qu

baobeituping的专栏 323

BPC坏点矫正

whatis the Bad Pixel? 坏点为死点,也就是基本不随照度变化呈现光电线性转换的关系。表现为暗态常亮,亮态常暗。 坏点分类:静态坏点:亮坏点,暗坏点。 动态坏点:在一定像素范围内,该点表现正常,而超过这一范围,该点表现的比周围像素要亮。与sensor ...

camerall 1万+

小秋SLAM入门实战ubuntu所有文章汇总

ubuntu 终端如何停止快速打印的输出以及恢复命令 ubuntu 终端如何快速打开当前路径下的图形化窗口界面? killall -9用途用法 ps -xu | grep这个命令的用途 linux 下 top命令显示的是内存是堆内存吗? zip分割和合并 关闭除当前 GNOME 终端窗口以外的所有其他 GNOME 终端窗口 如何在安装系统后设置短密码 【如何使用getrusage获取消耗的CPU时间和进程使用的最大物理内存】 【webots安装使用教程】 Linux系统下查看当前运行的进程和线程的几种方法

小秋 AI SLAM 入门实战教程 1406

网页如何切片处理视频大文件

在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。 先说下要求: PC端全平台支持,要求支持Windows,Mac,Linux 支持所有浏览器。 支持文件批量上传 支持文件夹上传,且要求在服务端保留层级结构。文件夹数量要求支持到10W。 支持大文件断点续传,要求刷新浏览器,重启浏览器,重启电脑后仍然能够继续上传。文件大小要求能够支持到50个G。 支持自动加载本地文件,要求能够自动加载指定的本地文件。 支持文件批量下载,要求不要

Mr_Zang666的博客 504

工业级Modbus ASCII实时监控系统(WinForms完整实现)

本文介绍了一个基于WinForms的工业级Modbus ASCII实时监控系统实现方案。该系统采用经典工控界面布局,包含串口配置、数据采集控制和实时数据显示三大区域。核心功能包括:串口通信参数设置、Modbus从站地址配置、寄存器数据采集、实时数据表格展示和趋势图绘制。系统通过ModbusAsciiClient类实现通信核心,采用定时器轮询机制采集数据,支持最多100个数据点的历史趋势显示。界面设计注重用户体验,配置区位于左侧,主显示区在右侧,底部为状态和日志区,符合工业控制系统的操作习惯。代码示例展示了窗

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 279

关于文件上传,js获取文件上传个数

碰到了文件上传,以及js怎么获取文件上传个数这个问题。写的不怎么好,请见谅哈哈。 这里是jsp页面代码.. &lt;%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%&gt; &lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0...

Rude_M的博客 3588

Android oom_adj 更新原理(一)

通过之前的两篇博文《lmkd 机制详解》和《lmkd中adj score的算法剖析》中,根据计算出来的 min_score_adj 选择大于该值的 oom_adj 的进程进行 kill 处理。oom_adj 随着应用状态的不同其值也是伴随着变化的。本文将通过源码剖析 oom_adj 更新的原理。

私房菜 2657

1、机器学习在环境科学中的应用与经典数据分析基础

本文介绍了机器学习在环境科学中的广泛应用,包括卫星遥感、气候预测、空气质量预报等领域,并系统回顾了经典数据分析的基本概念,如期望、方差、协方差和相关性及其显著性检验。同时,文章阐述了贝叶斯定理、判别函数与分类、聚类分析等方法的原理与应用,强调了经典统计方法与机器学习技术的互补关系。最后展望了未来环境科学中数据分析的发展方向,强调多学科融合与方法创新的重要性。

stone的博客 145

JSP 文件上传

JSP 可以与 HTML form 标签一起使用,来允许用户上传文件到服务器。上传的文件可以是文本文件或图像文件或任何文档。本章节我们使用 Servlet 来处理文件上传,使用到的文件有:upload.jsp : 文件上传表单。message.jsp : 上传成功后跳转页面。UploadServlet.java : 上传处理 Servlet。需要引入的 jar 文件:commons-fileupload-1.3.2、commons-io-2.5.jar。

weixin_62458944的博客 1885

063、推挽变换器的磁偏问题与解决

本文针对推挽变换器中的磁偏问题展开分析。作者通过实际案例指出,磁偏主要由开关管导通压降差异和驱动信号不对称引起,会导致变压器饱和、MOS管炸毁等问题。文章提供了四种解决方案:采用电流模式控制、添加隔直电容、优化对称驱动设计以及引入磁芯气隙(作为最后手段)。调试时应重点观察原边电流波形对称性、变压器声音和直流分量。作者强调实践经验的重要性,建议预留隔直电容位置,并指出推挽拓扑在500W以上功率场合的局限性。这些基于实战的经验总结为电源工程师提供了有价值的参考。

Jack010169的博客 312

jsp实现文件上传

文章目录一、案例演示二、文件上传2.处理上传总结 提示:以下是本篇文章正文内容,下面案例可供参考 一、案例演示 选择图片1.png,点击上传,保存到根目录upload下 二、文件上传 代码如下(示例): 写出文件上传的基本模块 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>文件上传</title> </h

qq_52108058的博客 6167

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

文件上传(JSP)

  文件上传功能载基于B/S的开发模式中非常普遍。JSP实现文件上传的实现方法是这样的:使用ServletRequest类的getInputStream()方法获得一个客户端向服务器发出的数据流,然后处理这个数据流,从中分析,得到文件上传中传递到服务器的各个参数和数据,然后将其中的文件数据存储为一个文件或插入到数据库中。        实现方式看起来简单,但要自己开发实现一个稳定可靠的文件上传

香蕉熊的专栏 2487

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

JSP 文件上传

JSP 文件上传 JSP 可以与 HTML form 标签一起使用,来允许用户上传文件到服务器。上传的文件可以是文本文件或图像文件或任何文档。 本章节我们使用 Servlet 来处理文件上传,使用到的文件有: upload.jsp : 文件上传表单。 message.jsp : 上传成功后跳转页面。 UploadServlet.java : 上传处理 Servlet。 需要引入的 ja...

Orbita_wangtao 3431

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

JSP练习之文件上传

文章目录源码运行结果 源码 index.jsp <%-- Created by IntelliJ IDEA. User: Atlantis Date: 2019-04-01 Time: 21:23 To change this template use File | Settings | File Templates. --%> <%@ page conten...

qq_40307753的博客 409

jsp页面文件上传

jsp文件上传功能使我们开发中常常所需的一种需求,那么下面我们就一起讨论下上传实现: 文件上传必须满足以下3个条件: 1.我们必须是post请求,原因大家应该都知道这里不再复述。 2.必须设置我们form表单enctype属性为multipart/form-data,因为默认是 3. 在from表单中添加type为file的输入域  注意:当我们按此上面设置时,参数不能按我们平时获取

xiaocai9999的专栏 2990

JSP文件上传流程

JSP文件上传流程 1、 下载jspSmartUpload.jar(我的博客中已上传) 2、 将下载的jspSmartUpload.jar放到WEB-INF中的lib中 3、 在WebContent下创建一个文件pic来存放上传的文件。 4、 新建一个upload.jsp文件,设计上传文件的表单。 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCT

小新的笔记博客 1089

java jsp 文件上传_用JSP编写文件上传

用JSP编写文件上传发布时间:2016-09-14 来源: 点击:次如果你曾用VB编写文件上传的组件的话,那么用JAVA编写文件上传的JAVABEAN十分容易。下面的例子只是一个简版package yuanyifileup;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http...

weixin_28928727的博客 132

JSP的文件上传

以下内容引用自http://wiki.jikexueyuan.com/project/jsp/file-uploading.html: 一个JSP可以用一个HTML表单标签,它允许用户上传文件到服务器。上传的文件是一个文本文件或二进制文件,图像文件或任何文件。 一、创建文件上传形式 用下面的HTM代码创建一个上传表单。以下的要点应该记下来: 表单method的属性应该设置为P...

angou6476的博客 214

jsp文件上传下载

来自:http://www.cr173.com/html/18629_1.html jsp文件上传大多采用采用开源项目来简化处理,这里是自己代码实现jsp文件上传、下载 一、文件上传 上传文件是Web开发中经常要用到的功能:例如在基于B/S的人事信息管理系统中上传照片,在新闻发布系统中上传图片等等。。。。。要实现文件上传功能,就需要综合利用java中的文件输入和输出相关的类。

#ifndefine maxwit #define maxwit...#endif 1101
上一篇: javascript 动态生成表格
下一篇: Java 读取文件
JavaAlpha
博客等级 码龄18年 910粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值