在导入了SmartUpload组件的前提下,一般的上传文件的代码为:
//1.实例化SmartUpload类对象
SmartUpload smart = new SmartUpload();
//2.初始化上传环境
smart.initialize(config, request, response);
//3.接收所有上传的数据
smart.upload();
//4.文件保存
smart.save("/save");
使用save()方法保存上传文件的时候会使用文件的原始名称进行保存,如果重复上传相同名字的文件的话,这样一来就有可能发生文件覆盖的情况。所以在任何的上传过程之中,绝对不会直接使用文件的原始名称进行保存,所以需要针对于上传的文件重命名;
在java.util包里面提供有一个UUID的类,这个类就是根据时间戳生成一个几乎不重复的名称;如:String fileName = UUID.randomUUID()
如果只存在文件的名称还不足以进行开发操作,还需要知道文件的后缀名;这些信息可通过SmartUpload取得;这个类定义有如下的方法:
- 取得上传文件的个数:public int getCount();
getSize()方法可以判断文件是否有文件上传。如果有上传,返回的数据是大于0; - 取得上传文件的大小:public long getSize();
- 根据索引取得每一个上传文件:public SmartFile getFile(int index);
取得的SmartFile表示每一个上传文件,即每一个上传文件的信息都在这个对象保存了。
取得上传文件的MIME类型:public S