第一步,添加上传处理句柄,服务名固定为`upload.file.sys`
选择在System中添加
```
addHandler("upload.file.sys", new UploadFile());
```
第二步,处理上传文件内容
上传数据格式为List,其中key的含义分别为
```
name:文件名,string
type:文件类型,string,格式形如image/jpg
size:文件大小,int
content:文件内容,byte[]
```
示例处理代码
```
List fileids = new ArrayList();
for (int i=0; i<_dsub.size(); i++) {
Map item = (Map) _dsub.get(i);
//get file content
byte[] arr = (byte[]) item.get("content");
//get file name
String fname = (String) item.get("name");
String suffix = fname.substring(fname.lastIndexOf("."));
//build unique name
String uname = UUID.randomUUID().toString() + suffix;
//save file to somewhere
String fullName = SAVE_PATH + File.separator + uname;
FileOutputStream fos = new FileOutputStream(fullName);
fos.write(arr);
fos.close();
//return unique name
fileids.add(uname);
}
```
第三步,在UI端通过AWFFile对象获取返回json数据
```
function getResponse() {
var response = $('#card').AWFFile().getValue();
console.log(response);
}
```
此时response为从服务端返回的json数据。
第四步,下载指定文件
```
/awf/vservice/System/Invoke.service?fileType=jpg&name=xxx
```
部署需要注意的是有两个地方要配置:
1. webapps/awf目录下的web.xml,需要配置tempPath参数
2. pazl/conf目录下的awf-default.xml,需要配置file.store.path参数