1. 文件服务
1.1. 方法列表
名称 | 说明 |
---|---|
downloadService | 文件下载服务。 |
uploadService | 文件上传服务。 |
1.2. 文件下载服务
外部系统通过下载接口,可以把系统的文件或附件以二进制流的形式输出到HTTP响应。
名称
downloadService
请求路径:/seeyon/services/downloadService
参数:
参数 | 数据类型 | 说明 |
---|---|---|
token | string | 登录验证后获取的身份令牌。 |
fileId | string | 系统中附件ID |
返回值:文件的二进制流
成功则返回输出流,否则返回提示出错字符
StringBuffer parameters = new StringBuffer();
parameters.append("fileId="+"-4951942983085243789");
parameters.append("&token="+"e821246a-3b2f-4c28-94ab-9410cc19c056");
URL preUrl = null;
URLConnection uc = null;
try {
preUrl = new URL("http://128.2.3.174/seeyon/services/downloadService");
String s = parameters.toString();
uc = preUrl.openConnection();
uc.setDoOutput(true);
uc.setUseCaches(false);
uc.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
HttpURLConnection hc = (HttpURLConnection) uc;
hc.setRequestMethod("POST");
OutputStream os = hc.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
dos.writeBytes(s);
dos.flush();
dos.close();
FileOutputStream file = new FileOutputStream("d:/test.pdf");
InputStream is = hc.getInputStream();
int ch;
while ((ch = is.read()) != -1) {
file.write(ch);
}
if (is != null) is.close();
1.3. 文件上传服务
外部系统通过调用上传接口,可以把外部系统需要上传到的附件先通过此接口完成,如外边系统发起表单流程,需要先调用此接口。
名称
uploadService 文件上传服务。
请求路径:/seeyon/uploadService.do?method= processUploadService
参数:
参数 | 数据类型 | 说明 |
---|---|---|
token | string | 登录验证后获取的身份令牌。 |
senderLoginName | string | 发起者登录名 |
返回值:string
成功则返回生成的附件id,如果多个文件上传则以"|"符号分割返回
示例:
URL preUrl = null;
URLConnection uc = null;
preUrl = new URL("http://128.2.3.174/seeyon/uploadService.do?
method = processUploadService"
+"&senderLoginName="+"zy"
+"&token="+"997a7cdc-2399-47e8-991e-96c859cccc7f");
String s = parameters.toString();
uc = preUrl.openConnection();
HttpURLConnection hc = (HttpURLConnection) uc;
hc.setDoOutput(true);
hc.setUseCaches(false);
hc.setRequestProperty("contentType", "charset=utf-8");
hc.setRequestMethod("POST");
BufferedInputStream input=new BufferedInputStream(new FileInputStream("c:/LDAP集成设计文档.doc"));
String BOUNDARY = "---------------------------7d4a6d158c9"; // 分隔符
String fileName="LDAP集成设计文档.doc";
StringBuffer sb = new StringBuffer();
sb.append("--");
sb.append(BOUNDARY);
sb.append("
");
sb.append("Content-Disposition: form-data;
name="1"; filename=""+fileName+""
");
sb.append("Content-Type: application/msword
");
hc.setRequestProperty("Content-Type",
"multipart/form-data;boundary=" + "---------------------------7d4a6d158c9");
byte[] end_data = ("
--" + BOUNDARY + "--
").getBytes();
DataOutputStream dos = new DataOutputStream(hc.getOutputStream());
dos.write(sb.toString().getBytes("utf-8"));
int cc=0;
while((cc=input.read())!=-1)
{
dos.write(cc);
}
dos.write(end_data);
dos.flush();
dos.close();
FileOutputStream file = new FileOutputStream("c:/test.txt");
InputStream is = hc.getInputStream();
int ch;
while ((ch = is.read()) != -1) {
file.write(ch);
}
if (is != null)
is.close();
上传下载本地调用:
import com.seeyon.oainterface.impl.exportdata.FileDownloadExporter
FileDownloadExporter exporter=new FileDownloadExporter();
exporter.processDownload(token, fileId, out);
import com.seeyon.oainterface.impl.exportdata.FileUploadExporter;
FileUploadExporter fileUpload=new FileUploadExporter();
String outStr= fileUpload.processUpload(request);