java web导入类_javaweb上传文件(mark)

使用commons-fileupload

1.导入jar包

commons-fileupload-1.2.1.jar 文件上传

commons-io-1.4.jar 它是提供的io工具.

介绍commons-fileupload

它有三个核心

1.DiskFileItemFactory类

2.ServletFileUpload类

3.FileItem

2.快速入门:

1.创建upload2.jsp页面

2.创建Upload2Servlet

1.创建一个DiskFileItemFactory

DiskFileItemFactory factory=new DiskFileItemFactory();

2.创建ServletFileUpload类

ServletFileUpload upload=new ServletFileUpload(factory);

3.解析所有上传数据

List items = upload.parseRequest(request);

3.了遍历items集合,集合中的每一项,就是一个上传数据.

1.isFormField();

2.getFieldName();

返回值String,得到组件名称

3.getName();

返回值是String,得到的是上传文件的名称.

注意:浏览器不同,它们得到的效果不一样。

1.包含全路径名称 例如: C:\Users\Administrator\Desktop\a.txt

2.只包含上传文件名称 例如:a.txt

4.getString();

这个方法可以获取非上传组件的内容,相当于 getParameter方法作用。

如果是上传组件,上传的文件是文本文件,可以获取到文件文件的内容。

但是如果不是文件文件,例如:是一张图片,这样获取合适吗?

5.获取上传文件的内容,保存到服务器端.

item.getInputStream();它是用于读取上传文件内容的输入流.

使用文件复制操作就可以完成文件上传。

IOUtils.copy(item.getInputStream(), fos);

关于文件上传的注意事项:

1.上传文件在服务器端保存位置问题

1.保存在可以被浏览器直接访问的位置

例如:商城的商品图片

保存在工程的WebRoot下的路径(不包含META-INF以及WEB-INF目录及其子目录)

2.保存在不能被浏览器直接访问的位置

例如:付费的视频。

1.工程中 META-INF WEB-INF目录及其子目录

2.不在工程中的服务器的磁盘目录下.

------------------------------------------------

2.上传文件在同一个目录重名问题

在开发中解决这个问题,可以给上传文件起随机名称。

1.使用毫秒值

2.使用uuid

AAffA0nNPuCLAAAAAElFTkSuQmCC

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值