项目实训:后台基于Nutz框架,需要实现一个文件上传功能,其中通过文件上传Excel来初始化数据库数据
1、后台实现文件的操作,@AdaptBy主要是说明接口是用于文件操作的,把上传适配器交由 Ioc 容器来管理,需要在你的 Ioc 配置文件里配置你的 UploadAdaptor。Module代码如下:
/**
* 上传文件
*/
@At("/teach/assess-uploadFile")
@AdaptBy(type = UploadAdaptor.class, args = { "ioc:myUpload" })
@Ok("raw:json")
public Object uploadFile(@Param("uploads") TempFile tf) {
return assessService.uploadFile(tf);
}
2、在nutz配置upload.js,主要是用于加载文件的操作,主要配置临时文件的目录,临时文件的大小等。具体代码如下:
var ioc = {
tmpFilePool : {
type : 'org.nutz.filepool.NutFilePool',
// 临时文件最大个数为 1000 个
args : [ "D:/Work/data/log", 1000 ]
},
uploadFileContext : {
type : 'org.nutz.mvc.upload.UploadingContext',
singleton : false,
args : [ {
refer : 'tmpFilePool'
} ],
fields : {
// 是否忽略空文件, 默认为 false
ignoreNull : true,
// 单个文件最大尺寸(大约的值,单位为字节,即 1048576 为 1M)
maxFileSize : 1048576,
// 正则表达式匹配可以支持的文件名