1.本地上传

在许多Web站点应用中都需要为用户提供通过浏览器上传文档资料的功能,例如,上传个人相片、共享资料等。在DRP中,就有这个一个功能,需要将对应的物料图片上传并显示。对于上传功能,其实在浏览器端提供了很好的支持,只需在Web服务器端获取浏览器上传文件并保存。首先要引入两个jar包,commons-fileupload.jar包,另一个是commons-io.jar包。浏览器端如何支持:采用post提交;更改form的enctype属性为:enctype="multipart/form-data"。

总结:FileUpload组件将页面提交的所有元素(普通form表单域,如input和文件域file)都看作一样的FileItem,这样上传页面提交的 request请求也就是一个FileItem的有序组合FileUpload组件可以解析该request,并返回一个一个的FileItem。而对 每一个FileItem,FileUpload组件可以判断出它是普通form表单域还是文件file域,从而根据不同的类型,采取不同的操作--如果是表单域,就读出其值,如果是文件域,就保存文件到服务器硬盘上或者内存中。

2.ftp服务器上传

Commons net包中的ftp工具类能够帮助我们轻松实现Ftp方式的文件上传/下载。其中最重要的一个类就是FTPClient类,这个提供了许多FTP操作相关的方法,比如链接,登录,上传,下载,和注销。FTP 操作的过程一般为连接服务器,登录,进行文件上传/下载,文件(目录)的添加删除修改等操作。

总结:FTPClient类中也提供了一些文件/文件夹操作的方法。通过commos net提供的方法,可以方便的实现断点传输等功能。我还可以同个retrieveFileStream方法来获取远程服务器中指定文件的一个输入流来供我们手动的进行读操作,也可以使用appendFileStream方法来获取要上传到远程服务器中文件对应的输出流对象,然后我们就可以手动的从本地文件中读取数据然后写入到远程服务中,比如上传的进度。

相对于cpu,输入outputsteam,输出inputsteam。

commons-fileupload、smartUpload和commons-net-ftp的更多相关文章

  1. Apache Commons FileUpload 实现文件上传

    Commons FileUpload简介 Apache Commons是一个专注于可重用Java组件开发的 Apache 项目.Apache Commons项目由三个部分组成: 1.Commons P ...

  2. CVE-2014-0050: Exploit with Boundaries, Loops without Boundaries、Apache Commons FileUpload and Apache Tomcat DoS

    catalog . Description . Analysis . POC . Solution 1. Description MultipartStream.java in Apache Comm ...

  3. Apache Commons fileUpload实现文件上传之一

      需要两个jar包: commons-fileupload.jar Commons IO的jar包(本文使用commons-io-2.4.jar) 利用Servlet来实现文件上传. package ...

  4. 上传文件出错:org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. Stream ended unexpectedly

    最近做一个web项目中有上传文件的功能,已经写出并在本地和部署到服务器上测试了好几个文件上传都没问题(我用的是tomcat).后来又上传了一个700多K的文件(前边的都是不足600K的,并且这个wor ...

  5. Spring MVC使用commons fileupload实现文件上传功能

    通过Maven建立Spring MVC项目,引入了Spring相关jar依赖. 1.为了使用commons fileupload组件,需要在pom.xml中添加依赖: <properties&g ...

  6. commons.fileupload简单应用

    导入包: commons-fileupload-1.3.1.jar commons-io-2.4.jar commons-fileupload依赖于commons-io,commons-io-2.4必 ...

  7. JSP 文件上传下载系列之二[Commons fileUpload]

    前言 关于JSP 文件上传的基础和原理在系列一中有介绍到. 这里介绍一个很流行的组件commons fileupload,用来加速文件上传的开发. 官方的介绍是:  让添加强壮,高性能的文件到你的se ...

  8. Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.RequestContext

    1.错误描述 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help ...

  9. org.apache.commons.fileupload.FileUploadBase$InvalidContentTypeException

    1.错误原因 org.apache.commons.fileupload.FileUploadBase$InvalidContentTypeException: the request doesn't ...

  10. 上传文件代码报错,java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory

    2018-09-11 11:11:08.235 ERROR 14352 --- [nio-8080-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : ...

随机推荐

  1. 【51nod 1092】 回文字符串(区间DP)

    回文串是指aba.abba.cccbccc.aaaa这种左右对称的字符串.每个字符串都可以通过向中间添加一些字符,使之变为回文字符串. 例如:abbc 添加2个字符可以变为 acbbca,也可以添加3 ...

  2. 大数据学习——linux常用命令(五)

    1 挂载外部存储设备 可以挂载光盘.硬盘.磁带.光盘镜像文件等 1/ 挂载光驱 mkdir   /mnt/cdrom      创建一个目录,用来挂载 mount -t iso9660 -o ro / ...

  3. Oracle中有关日期的语法

    Oracle中有关日期的语法 Oracle提供了丰富的日期函数.利用日期函数可以灵活的对日期进行运算. to_date()函数——将字符串转换为日期型 to_date()函数用于将字符串转换为日期.被 ...

  4. 【BFS+优先级队列】Rescue

    https://www.bnuoj.com/v3/contest_show.php?cid=9154#problem/I [题意] 给定一个n*m的迷宫,A的多个小伙伴R要去营救A,问需要时间最少的小 ...

  5. 只有代码不会撒谎,如何通过Spring boot源码查看其对于各个框架的默认配置

    我发现很多开发对于看源码都有种恐惧心理,其实不必这样,大部分优秀的源码写的都挺直观的,很多时候,你在搜索引擎上搜到的一些东西并不一定是对的,但源码肯定造不了假,毕竟不管你怎么想,它就在那里,该是什么意 ...

  6. [USACO13NOV]空荡荡的摊位Empty Stalls

    题目描述 Farmer John's new barn consists of a huge circle of N stalls (2 <= N <= 3,000,000), numbe ...

  7. less的配置和使用

    less 的配置: 1.浏览器端的使用 <link rel="stylesheet/less" type="text/css" href="st ...

  8. Method, apparatus and system for acquiring a global promotion facility utilizing a data-less transaction

    A data processing system includes a global promotion facility and a plurality of processors coupled ...

  9. UVAlive 3026 KMP 最小循环节

    KMP算法: 一:next数组:next[i]就是前面长度为i的字符串前缀和后缀相等的最大长度,也即索引为i的字符失配时的前缀函数. 二:KMP模板 /* pku3461(Oulipo), hdu17 ...

  10. 编译.net .net Core程序 代码,仅做备份

    //创建一个ProcessStartInfo对象 使用系统shell 指定命令和参数 设置标准输出 //编译.net core项目 var psi = new ProcessStartInfo(&qu ...