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 文件的上传相关推荐

  1. JAVA客户端数据传输_java模拟TCP通信实现客户端上传文件到服务器端

    java模拟TCP通信实现客户端上传文件到服务器端,供大家参考,具体内容如下 客户端 package com.zr; import java.io.FileInputStream; import ja ...

  2. java 网页 录音_Java+FlashWavRecorder实现网页录音并上传

    [注意] [前言] 肯定有需求要网页录音,并且要上传.这奇葩需求. 然后找到了FlashWavRecorder, [原始版本号] 1.下载 在上面的地址下载zip解压之后,目录里面有个index.ht ...

  3. java.lang.ClassNotFoundException: org.apache.commons.fileupload.disk.DiskFileItemFactory

    您好,我是码农飞哥,感谢您阅读本文!本文主要介绍文件上传报的错 问题复现 [dispatcherServlet] in context with path [/coep-rest] threw exc ...

  4. idea maven java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory

    今天学习SpringMVC 文件上传下载,编辑完成开始运行,报错 报错如下: java.lang.ClassNotFoundException: org.apache.commons.fileuplo ...

  5. 【报错笔记】使用MultipartFile 出现异常:java.lang.ClassNotFoundException: org.apache.commons.fileupload...

    使用MultipartFile出现异常:java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory ...

  6. java图片和视频上传_Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能(转)...

    视频网站中提供的在线视频播放功能,播放的都是FLV格式的文件,它是Flash动画文件,可通过Flash制作的播放器来播放该文件.项目中用制作的player.swf播放器. 多媒体视频处理工具FFmpe ...

  7. fileUpload实现普通表单和file图片上传到数据库

    fileUpload实现普通表单和file图片上传到数据库 效果图: 实现 jsp:页面 servelt:控制器 service:逻辑操作 dao:数据库操作 domain:javaBean类 首先需 ...

  8. linux的ftp轮询上传文件,Android中实现异步轮询上传文件

    前言 前段时间要求项目中需要实现一个刷卡考勤的功能,因为涉及到上传图片文件,为加快考勤的速度,封装了一个异步轮询上传文件的帮助类 效果 先上效果图 设计思路 数据库使用的框架是GreenDao,一个非 ...

  9. SpringBoot+Vue+mybatis生成pdf文件(表头跟页码,适应上传linux服务器后的操作)

    SpringBoot+Vue+mybatis生成pdf文件(表头跟页码,适应上传linux服务器后的操作) 为什么使用后端去生成 说明 依赖 后端目录 控制器代码 模板代码 前端代碼 最終效果 为什么 ...

最新文章

  1. 【疯狂的消化之旅】消化系统简介
  2. 如何挖掘医疗数据?看这份KDD2021《异构医疗数据挖掘》教程
  3. 电大计算机基础知识试题是什么样的,计算机应用基础知识(电大试题)
  4. 如何制作提交按钮,实现多条件筛选
  5. deep Learning ERROR(1):TypeError: softmax() got an unexpected keyword argument ‘axis‘
  6. MyEclipse中常用的快捷键
  7. CentOS 7.4 下 如何部署 AspNetCore 结合 consul
  8. CF573D-Bear and Cavalry【动态dp】
  9. Hadoop学习笔记—15.HBase框架学习(基础知识篇)
  10. Hadoop学习笔记目录
  11. 图解centos安装详细过程
  12. ABP中使用Redis Cache(1)
  13. 在服务器上log4net没写日志
  14. loaded question解释
  15. mc服务器小地图不显示玩家,为啥小地图莫名消失了 玩家:或许是它喝完随机饮料后 自己隐身了...
  16. 去除小圆点_word中的小圆圈怎么删掉
  17. 坐标求四面体体积_四面体体积公式
  18. 解决国外资源下载速度过慢的问题
  19. linux proc文件创建指南
  20. blender中的灯光和相机

热门文章

  1. leetcode 303. 区域和检索 - 数组不可变(Java版)
  2. 操作系统:第四章 文件管理2 - 磁盘管理,磁盘调度算法
  3. 【MVC模式】Front前端控制器模式、Jsp Model1 和 Jsp Model2、MVC思想
  4. PAT1044 火星数字 (20 分)
  5. Reactor中的Thread和Scheduler
  6. 在Spring Boot中使用内存数据库
  7. Scala教程之:深入理解协变和逆变
  8. python tkinter控件_python GUI作业:使用tkinter的重要控件
  9. 如何解决微服务架构中的雪崩问题?
  10. Leecode20. 有效的括号——Leecode大厂热题100道系列