文件上传
使用类
- commons-io
- FileUpdate
- 【文件上传的注意事项】
- 为保证服务器安全,上传文件应该放在外界无法直接访问的目录下,比如放于WEB-INF目录下。
- 为防止文件覆盖的现象发生,要为上传文件产生一个唯一的文件名----》 方式: –时间戳 – UUID --MD5 --位运算算法
- 要限制上传文件的最大值。 微信15秒 B站10G
- 可以限制上传文件的类型,在收到上传文件名时,判断后缀名是否合法。 .mp4 .txt .doc .jpg .png
- 【需要用到的类详解】
- ServletFileUploadft(责处理上传的文件数据,并将表单中每个输入项封装成一个Fileltem对象
- 在使用ServleFileUpload对象解析请求时需要DiskFileltemFactory对象。所以,我们需要在进行解析工作前构造好DiskEileltemFactory对象
- 通过ServletFileLpload对象的构造方法或setFileltemFactory()方法设置ServletFileUpload对象的filelter Factor属性
- 【文件上传的注意事项】
表单如果包含一个文件上传输入项的话,这个表单的enctype属性就必须设置为multipart/form-data
- 可以使用UUID(唯一识别的通用码),保证文件名唯一
- UUID.randomUUID(),随机生一个唯一识别的通用码;
- 网络传输中的东西,都需要序列化
- POJO,实体类,如果想要在多个电脑上运行,传输===>需要把对象都序列化了JNI =Java Native Interface
- implements Serializable :标记接口,JVM—>Java栈本地方法栈 native -->C++