zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java代码实现文件上传「建议收藏」

JAVA文件上传代码 实现 建议 收藏
2023-06-13 09:11:32 时间

大家好,又见面了,我是你们的朋友全栈君。

Java代码实现文件上传

在文件上传过程中,文件是以流的形式从浏览器提交到服务端的。一般情况下采用Apache公司的开源文件上传组件common-fileupioad来进行文件的上传。由于common-fileupioad依赖于common-io,所以还要下载common-io这个包。

准备工作:

下载jar包,建立项目,把包导入lib目录,将lib添加到项目输出目录,配置好Tomcat。

我们只编写简单的前端和全部的后端代码,美化前端的任务交给前端管理员

文件上传四个要求:

  1. 为保证服务器安全,上传文件应该放在外界无直接访问的目录下,比如放于WEB-INF目录下。
  2. 为防止文件覆盖的现象发生,要为上传文件产生一个唯一的文件名
  3. 要限制上传文件的最大值。
  4. 可以限制上传文件的类型,在收到上传文件名时,判断后缀名是否合法。

中点需要了解的两个类:

Filetem类:

//isFormField方法用于判断FileItem类对象封装的数据是一个普通文本表单
//还是一个文件表单,如果是普通表单字段则返回true,否则返回false
boolean isFormField();

//getFieldName方法用于返回表单标签name属性的值。
String getFieldName();
//getString方法用于将FileItem对象中保存的数据流内容以一个字符串返回
String getString();
    
//getName方法用于获得文件上传字段中的文件名。
String getName();

//以流的形式返回上传文件的数据内容。
InputStream getInputStream()

//delete方法用来清空FileItem类对象中存放的主体内容
//如果主体内容被保存在临时文件中,delete方法将删除该临时文件。
void delete();

ServletFileUpload 类:

代码实现

method必须是post,post对上传的数据没有限制,get无法获取大型文件

form表单默认提交纯文本,要上传文件就要更改enctype属性为文件流

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/146684.html原文链接:https://javaforall.cn