JAVA中文件上传的实例

一个简单的java文件上传实例,简单好用。 一个简单的java文件上传实例,简单好用。亲自测试通过! 立即下载
  1. 导包
     向项目中的WEB-INF下的lib目录中导入下面两个包:commons-fileupload.jar包和commons-io.jar包
  2. 编写上传servlet代码。
public class UploadServlet extends HttpServlet {
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
    //获取部署在tomcat下的路径目录。
    File file = new File (this.getServletContext().getRealPath("/tempfile"));
    //如果该目录不存在,我们应该自己创建该目录。
    if(!file.exists())
        file.mkdirs();
    //创建文件项工厂对象,设置缓冲区大小和临时文件位置。
    DiskFileItemFactory factory = new DiskFileItemFactory(1024*1024,file);

    //创建指定缓冲区和临时文件位置的ServletFileUpload对象
    ServletFileUpload upload = new ServletFileUpload(factory);
    //判断请求是否为文件上传模式。
    if(ServletFileUpload.isMultipartContent(request)){
        //使用自己指定的编码编码信息。Tomcat默认的编码是为"ISO-8859-1",防止出现上传文件名称乱码的问题。
        upload.setHeaderEncoding("UTF-8");
        //这里可以设文件上传大小上限。也可以不设置。参数单位为Byte
        //upload.setSizeMax(1024*1024*5);

        //解析request,得到所有上传项目的数据。该方法有异常,可以选择进行处理或者声明异常。
        List<FileItem> items = upload.parseRequest(request);
        //遍历List集合,对上传项目进行判断,根据情况进行处理。
        for(FileItem item:items){
            //判断是否是上传项目是否在表单直接提交数据的范围
            if(item.isFormField()){
                //表单直接携带的数据,既:非文件上传的组件。
                String fieldname = item.getFieldName();//获取组件名称
                String content = item.getString("UTF-8");//获取组件的内容,传入UTF-8,是为了保证和上面设置的编码一样,防止出现乱码问题。
                //根据自己的实际情况需求做操作。
            }else{
                //组件为文件上传,为了防止代码太乱,将一些功能封装到自定义工具类中,工具类等下介绍。
                //获取上传文件的名字
                String name = item.getName();
                String filename = FileUploadUtils.getRealName(name);
                //给文件起个随机名字。
                String uuidname = FileUploadUtils.getUUIDFileName(filename);
                //获取散列目录
                String hashDirectory=FileUploadUtils.getHashDirectory(filename);
                //存放散列目录的父目录,在该案例中,设父目录名称为upload
                String parentPath =this.getServletContext().getRealPath("/upload");
                File hd = new File(parentPath,hashDirectory);
                //判断目录是否存在,不存在则创建。
                if(!hd.exists)
                    hd.mkdirs();
                //调用commons-io包中的工具
                IOUtils.copy(item.getInputStream(),new FileOutputStream(new File(hd,uuidname)));
                //删除临时文件。
                item.delete();
            }
        }
    }else{
        //执行非文件上传请求操作
        response.getWrite().write("这不是上传请求");
        return;
    }

}
  1. 自定义上传工具类。
public class FileUploadUtils {
    //获取文件的名称。
    public static String getRealName(String filename){
        int index = filename.lastIndexOf("\\")+1;
        return filename.substring(index);
    }

    //获取随机名称
    public static String getUUIDFileName(String filename){
        int index = filename.indexOf(".");
        if(index!=-1)
            return UUID.randomUUID()+filename.substring(index);
        else
            return UUID.randomUUID().toString();
    }

    //通过散列目录算法,得到散列目录。
    public static String getHashDirectory(String filename){
        int hashcode = filename.hashCode();
        int a = hashcode & 0xf;
        hashcode = hashcode>>>4;
        int b = hashcode & 0xf;

        return "/"+a+"/"+b;
    }

}
Java文件上传案例 详细的Java文件上传案例和读取案例,涉及jsp,Servlet和Jdbc工具类以及相关Jar包 立即下载

相关推荐

java中最简单的文件上传实例

java中最简单的文件上传实例,内加例子;只需要10行代码搞定文件的上传......... qq:294647378 详细:http://itba.taobao.com(注意里面使用的了包)

JAVA实现文件的上传和下载

运用Tomcat搭建服务器实现文件的上传与下载

qq_63321473的博客 1万+

java文件的上传和下载完整实例

java文件的上传和下载完整实例,前断时间一直对上传和下载不是很明白,然后这段时间本人亲自整理资料并对上传和下载写了一个完整的项目,项目是maven+springmvc实现的,本人亲自测试过决对可以用,如果下载下来不能运行检查一下是否是架包没有下载下来,如果有需要的可以下载下来学习学习。如有欵问可以留言

java 实现文件上传的功能, 用代码举例至少3个案例

【代码】java 实现文件上传的功能, 用代码举例至少3个案例。

u011091199的博客 432

java大文件分片上传示例

java大文件分片上传示例,java大文件分片上传示例,java大文件分片上传示例,欢迎大家下载!!

CST仿真实例001:圆极化平板天线仿真

CST仿真实例001:圆极化平板天线仿真实例

weixin_47638568的博客 1万+

如何用Java实现文件上传!!!

文件上传的简介:文件上传是指将本地计算机中的文件传输到网络上的服务器或另一台计算机上的过程。在 Web 开发中,文件上传通常指的是将用户通过 Web 页面提交的文件(如图像、文档、音频、视频等)传输到服务器端的操作。简单来说,文件上传是指将本地图片、视频、音频等文件上传到服务器上,供其他用户浏览或下载的过程。文件上传通常涉及以下几个主要组件:客户端:指的是文件上传的发起方,通常是用户在 Web 浏览器中通过表单提交文件。服务器端:指的是接收并处理文件上传请求的计算机系统或服务器。上传表单。

2301_77690238的博客 1490

【随机过程】 3 - 随机过程的频域分析1 - 功率谱

随机过程的频域分析 文章目录随机过程的频域分析1. 什么是谱2. 确定信号的频谱2.1 周期信号的频谱2.2 非周期信号的频谱3. 随机信号的谱3.1 随机信号做傅里叶分析的困难3.2 功率谱密度的物理和数学表示形式3.2.1 功率谱密度的物理表示3.2.2 功率谱密度的数学表示3.3 功率谱密度的解读3.3.1 量纲分析3.3.2 谱3.3.3 密度3.3.4 wiener和khinchin3.4 功率谱密度的性质3.4.1 非线性3.4.2 偶函数3.5 wiener-khinchin关系的应用3.6

qq_41741344的博客 3133

JAVA零基础入门3-实现上传图片功能

实现了增删改查的基础功能后,逐步增加新的功能,本章节将完成菜品图片信息的上传与显示功能,花费时间比之增删改查较长,但是学会了之后也是收获满满。其中controller的书写方法也在慢慢变得规范

a1571861354的博客 2141

C++语言程序设计教程第4版杨进才沈显君课后习题答案解析

为了更好地学习这门课程,我尝试在网上寻找一些学习资料和参考书籍,但效果并不是很理想。因此,我希望能有一些学长学姐或者是有经验的程序员能够分享一些学习经验和方法,让我更好地掌握这门课程。学习过程中,我发现这本书的内容非常丰富,讲解也非常详细,对于像我这样编程基础薄弱的学生来说,是一本非常实用的教材。同时,我也希望有经验的程序员能够推荐一些适合初学者的C++语言学习资料和工具,以便我能更好地学习和掌握这门课程。总之,希望能得到大家的帮助和支持,让我更好地学习和掌握C++语言程序设计。主 编: 杨进才,沈显君。

weixin_58833001的博客 1332

【Anaconda】conda国内镜像源快速配置指南(清华/阿里云)

本文详细介绍了如何为Anaconda配置国内镜像源(清华/阿里云),以显著提升conda包下载速度并减少安装失败率。通过分步指南和实用技巧,帮助开发者快速完成配置,优化Python开发环境。

weixin_33725722的博客 1486

如何在JavaWeb项目中实现图片上传(含示例代码)

以上就是如何在JavaWeb项目中实现图片上传,并将图片的URL地址存储到数据库中。如果你有更多的定制需求,可以在此基础上进行进一步扩展和修改。如果你使用Maven进行项目管理,你需要确保数据库中有一个名为。的表,至少有一个名为。

2301_79858914的博客 2691

【深度学习新浪潮】Score Matching(分数匹配):原理、推导与PyTorch实战

在概率模型训练中,配分函数(归一化常数)是绕不开的难题——尤其是能量模型(EBM)、扩散模型等未归一化模型,直接计算配分函数几乎不可能。Score Matching(分数匹配)作为一种无归一化的参数估计方法,通过拟合概率密度的对数梯度(分数函数),彻底避开了配分函数的计算,成为生成建模、密度估计的核心技术之一。本文将从基础概念出发,逐步推导Score Matching的核心公式,并结合PyTorch实现一个可直接运行的实战案例,帮你彻底理解这一关键技术。Score Matching的核心是。

专注:太空算力、AI infra、异构调度、大模型成本工程 250

java文件上传下载实例_java文件上传下载代码实例

本文实例为大家分享了java文件上传下载的具体代码,供大家参考,具体内容如下文件上传@RequestMapping(value="/uploadFile",method=RequestMethod.POST)public ResultObject uploadFiles(@RequestParam("file")MultipartFile file,HttpServletRequest reque...

weixin_33917474的博客 187

看懂特斯拉IMU底层逻辑,才懂农业机器人不可替代的核心技术壁垒

在自动驾驶与具身智能赛道,特斯拉彻底重构了IMU(惯性测量单元)的技术定位,打破行业“IMU仅为辅助补盲配件”的固有认知,将其从底盘附属硬件升级为纯视觉感知体系的物理核心基座。依托500–1000Hz超高刷新率、无外部依赖的惯性感知能力、端到端神经网络融合架构,特斯拉实现了“视觉感知环境、IMU定义运动”的技术闭环,摆脱对激光雷达、高精地图、卫星定位的强依赖。这套技术逻辑落地农业机器人赛道,不再是技术优化,而是规模化落地的生存刚需。城市自动驾驶属于结构化稳定场景,IMU仅作误差修正的锦上添花;

getusushu的博客 49

2024年广东省职业院校技能大赛“区块链技术应用”任务书—区块链应用系统开发参考答案

摘要 本文档提供了2024年广东省职业院校技能大赛"区块链技术应用"项目中区块链电子签章前端功能开发的参考答案。主要内容包括:1)注册页面开发,实现身份证号码双向绑定和注册请求发送;2)登录页面开发,实现用户认证、状态保存和页面跳转;3)个人印章页面开发,实现注销功能和印章信息展示。每个任务均包含具体实现代码片段和功能测试要点,涵盖Vue.js框架下的数据绑定、axios请求处理和本地存储等关键技术点。

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 343

Java文件上传实例并解决跨域问题

本文内容为Java文件上传实例并解决跨域问题,其中重点讲解了文件上传,MultipartFile接口的使用,配置nginx,以及解决文件上传跨域的问题

小小张自由—>张有博 1万+

Matlab R2018b简体中文版完整安装图文教程(附安装包下载)

目 录 一、安装过程 二、下载地址 matlab R2018b安装包如下所示,包括主程序和补丁文件两部分。 一、安装过程 双击安装包中的setup.exe。 选择使用文件安装MIYAO,点击下一步。 接受协议,选择是,点击下一步。 输入序列号:09806-07443-53955-64350-21751-41297,点击下一步。 修改安装路径,点击下...

智慧空间实验室 1万+

java文件上传下载实例_java文件上传下载实例 java文件上传实例

java使用fileupload实现上传文件实例11.新增两个jar包 commons-fileupload-1.2.1.jar commons-io-2.0.jar22.新建upload.jsp33.上传文件form表单如下,注意表单的传输格式44.新建处理上传文件的servlet55.post方法中,代码如下66.运行 upload.jsp文件,并选择一张图片上传77.上传输出结果如下:分别...

weixin_32821813的博客 123

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

java 上传文件 代码_Java实现文件上传的代码实例

这篇文章主要介绍了Java 文件上传的实例详解的相关资料,希望通过本文大家能掌握这部分内容,使用几种文件上传的方法,需要的朋友可以参考下Java 文件上传的实例详解java 文件上传Java文件上传,介绍几种常用的方法,也是经过本人亲手调试过的1.jspsmartupload这个组件用起来是挺方便的,不过就是只适合小文件上传,如果大文件上传的话就不行,查看了一下他的代码,m_totalBytes ...

weixin_32058239的博客 890

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

java 上传图片 tmp_两种java文件上传实例讲解

本文通过两种文件上传实例进行比较,帮助大家更好的学习java文件上传功能,具体内容如下1. Java附件上传代码@Controllerpublic class UploadFile extends BaseJsonController{/*** 附件上传** @param request* @param creativeFile* @param response* @return*/@Reques...

weixin_39603604的博客 668

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

文件上传java实例_java文件上传实例

UploadVideoController:package com.lianshang.platform.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframewor...

weixin_39791446的博客 99

java spring 文件上传_Java文件上传之SpringMVC实例

一、配置文件web.xmlxmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-ap...

weixin_39633437的博客 131

java文件上传实例_java文件上传实例

UploadVideoController:package com.lianshang.platform.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframewor...

weixin_42322467的博客 159
上一篇: commons-fileupload.jar的详解
下一篇: java两种常用文件下载实例
pseudonym_
博客等级 码龄10年 88粉丝 205原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值