java fileupload 文件_java用Commons fileupload 文件的上传
java用Commons fileupload 文件的上传
基于表单的文件上传
如果在表单中使用表单元素
/>,浏览器在解析表单时,会自动生成一个输入框和一个按钮,输入框可供用户填写本地文件的文件名和路径名,按钮可以让浏览器打开一个文件选择框供
用户选择文件:
当表单需要上传文件时,需指定表单 enctype 的值为 multipart/form-data
在 form 元素的语法中,enctype 属性指定将数据发送到服务器时浏览器使用的编码类型。
enctype 属性取值:
application/x-www-form-urlencoded:表单 enctype
属性的默认值。这种编码方案使用有限的字符集,当使用了非字母和数字时,必须用”%HH”代替(H 代表十六进制数字)。对于大容量的二进制数据或包含非
ASCII 字符的文本来说,这种编码不能满足要求。
multipart/form-data
:form
设定了enctype=“multipart/form-data”属性后,表示表单以二进制传输数据 .
Commons-fileupload 组件上传的基本原理
FileUpload组件将页面提交的所有元素(普通form表单域,如text和文件域file)都看作一样的FileItem,这样上传页面提
交的
request请求也就是一个FileItem的有序组合,FileUpload组件可以解析该request,并返回一个一个的FileItem。而对
每一个FileItem,FileUpload组件可以判断出它是普通form表单域还是文件file域,从而根据不同的类型,采取不同的操作--如果是
表单域,就读出其值,如果是文件域,就保存文件到服务器硬盘上或者内存中
Commons-fileupload 组件API
ServletFileUpload
负责处理上传的文件数据,并将每部分的数据封装成一到 FileItem 对象中。
DiskFileItemFactory
是创建
FileItem 对象的工厂,在这个工厂类中可以配置内存缓冲区大小和存放临时文件的目录。
ServletFileUpload
在接收上传文件数据时,会将内容保存到内存缓存区中,如果文件内容超过了 DiskFileItemFactory
指定的缓冲区的大小,那么文件将被保存到磁盘上,存储为 DiskFileItemFactory
指定目录中的临时文件。等文件数据都接收完毕后,ServletUpload 在从文件中将数据写入到上传文件目录下的文件中
进行文件上传的具体操作:
首先,加载必要的jar包:“commons-fileupload-1.2.1.jar”
//使用 FileUpload 组件解析表单:
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
//
相关文档:
Java Arrays中提供了对所有类型的排序。其中主要分为primitive和Object两大类,分别使用了快速排序与合并排序。本章以int[] 的排序,讲解Java对primitive排序。
首先大家要了解什么是快速排序,它有什么优点,这些我就不累述了,给出地址。http://zh.wikipedia.org/zh/%E5%BF%AB%E9 ......
今天在编写一个快速排序函数,其中想用一个在C++中类似swap功能的函数,结果引发了一系列的问题。
下面是在网上搜到的代码,并在我的本地机上作了运行。
public class ParamTest
{
public static void ......
package com.color.program;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class CompareTime {
public static void main(String[] args){
String t1 = "2008-05-09";
String t2 = "20 ......
转帖http://zmfkplj.javaeye.com/blog/629678
在初学java swing时便用的是Jbuilder,便捷的工具下产生的结果有两个,一好一坏。好的方面是太爽了,仅仅鼠标点击,鼠标移动,便会产出不用理解的代码,而这些代码照样能运行,完成所需要的功能;坏的方面是太糟了,当离开Jbuilder工具开发swing时,所有的方面通通没有,所有� ......
首先从一道面试题目谈起:
package pkg1;
public class Jupiter
{
void method1(){
System.out.println("In Jupiter");
}
public void call(){
method1();
}
}
package pkg2;
import pkg1.Jupiter;
public class Minerva extends Jupiter{
public void method1(){
......
java fileupload 文件_java用Commons fileupload 文件的上传相关推荐
- JAVA客户端数据传输_java模拟TCP通信实现客户端上传文件到服务器端
java模拟TCP通信实现客户端上传文件到服务器端,供大家参考,具体内容如下 客户端 package com.zr; import java.io.FileInputStream; import ja ...
- java 网页 录音_Java+FlashWavRecorder实现网页录音并上传
[注意] [前言] 肯定有需求要网页录音,并且要上传.这奇葩需求. 然后找到了FlashWavRecorder, [原始版本号] 1.下载 在上面的地址下载zip解压之后,目录里面有个index.ht ...
- java.lang.ClassNotFoundException: org.apache.commons.fileupload.disk.DiskFileItemFactory
您好,我是码农飞哥,感谢您阅读本文!本文主要介绍文件上传报的错 问题复现 [dispatcherServlet] in context with path [/coep-rest] threw exc ...
- idea maven java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory
今天学习SpringMVC 文件上传下载,编辑完成开始运行,报错 报错如下: java.lang.ClassNotFoundException: org.apache.commons.fileuplo ...
- 【报错笔记】使用MultipartFile 出现异常:java.lang.ClassNotFoundException: org.apache.commons.fileupload...
使用MultipartFile出现异常:java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory ...
- java图片和视频上传_Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能(转)...
视频网站中提供的在线视频播放功能,播放的都是FLV格式的文件,它是Flash动画文件,可通过Flash制作的播放器来播放该文件.项目中用制作的player.swf播放器. 多媒体视频处理工具FFmpe ...
- fileUpload实现普通表单和file图片上传到数据库
fileUpload实现普通表单和file图片上传到数据库 效果图: 实现 jsp:页面 servelt:控制器 service:逻辑操作 dao:数据库操作 domain:javaBean类 首先需 ...
- linux的ftp轮询上传文件,Android中实现异步轮询上传文件
前言 前段时间要求项目中需要实现一个刷卡考勤的功能,因为涉及到上传图片文件,为加快考勤的速度,封装了一个异步轮询上传文件的帮助类 效果 先上效果图 设计思路 数据库使用的框架是GreenDao,一个非 ...
- SpringBoot+Vue+mybatis生成pdf文件(表头跟页码,适应上传linux服务器后的操作)
SpringBoot+Vue+mybatis生成pdf文件(表头跟页码,适应上传linux服务器后的操作) 为什么使用后端去生成 说明 依赖 后端目录 控制器代码 模板代码 前端代碼 最終效果 为什么 ...
最新文章
- 【疯狂的消化之旅】消化系统简介
- 如何挖掘医疗数据?看这份KDD2021《异构医疗数据挖掘》教程
- 电大计算机基础知识试题是什么样的,计算机应用基础知识(电大试题)
- 如何制作提交按钮,实现多条件筛选
- deep Learning ERROR(1):TypeError: softmax() got an unexpected keyword argument ‘axis‘
- MyEclipse中常用的快捷键
- CentOS 7.4 下 如何部署 AspNetCore 结合 consul
- CF573D-Bear and Cavalry【动态dp】
- Hadoop学习笔记—15.HBase框架学习(基础知识篇)
- Hadoop学习笔记目录
- 图解centos安装详细过程
- ABP中使用Redis Cache(1)
- 在服务器上log4net没写日志
- loaded question解释
- mc服务器小地图不显示玩家,为啥小地图莫名消失了 玩家:或许是它喝完随机饮料后 自己隐身了...
- 去除小圆点_word中的小圆圈怎么删掉
- 坐标求四面体体积_四面体体积公式
- 解决国外资源下载速度过慢的问题
- linux proc文件创建指南
- blender中的灯光和相机
热门文章
- leetcode 303. 区域和检索 - 数组不可变(Java版)
- 操作系统:第四章 文件管理2 - 磁盘管理,磁盘调度算法
- 【MVC模式】Front前端控制器模式、Jsp Model1 和 Jsp Model2、MVC思想
- PAT1044 火星数字 (20 分)
- Reactor中的Thread和Scheduler
- 在Spring Boot中使用内存数据库
- Scala教程之:深入理解协变和逆变
- python tkinter控件_python GUI作业:使用tkinter的重要控件
- 如何解决微服务架构中的雪崩问题?
- Leecode20. 有效的括号——Leecode大厂热题100道系列