//获取单据上传字段的文件信息
private static void GetServerFile()
{
ApiClient client = new ApiClient("http://172.20.66.92/k3cloud/");
string dbId = "5aefe2c9983658";
bool bLogin = client.Login(dbId, "demo", "888888", 2052);
if (!bLogin)
{
return;
}
object[] paramInfo = new object[]
{
"{\"FormId\":\"PUR_PurchaseOrder\","+// 采购订单formid倪华珠
"\"TopRowCount\":0,"+// 最多允许查询的数量,0或者不要此属性表示不限制
"\"Limit\":10,"+// 分页取数每页允许获取的数据,最大不能超过2000
"\"StartRow\":0,"+// 分页取数开始行索引,从0开始,例如每页10行数据,第2页开始是10,第3页开始是20
"\"FilterString\":\"\","+// 过滤条件
"\"OrderString\":\"FID ASC\"," + // 排序条件
"\"FieldKeys\":\"FBillNo,F_PAEZ_FileUpdate,F_PAEZ_ImageFileServer, F_PAEZ_Image\"}"
};
//调用查询接口
List<List<object>> ret = client.Execute<List<List<object>>>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery", paramInfo);
if (ret != null && ret.Count > 0)
{
string s = ret[0][3] as string;
Kingdee.BOS.JSON.JSONArray array = new Kingdee.BOS.JSON.JSONArray();
array = SerializatonUtil.DeserializeFromBase64<Kingdee.BOS.JSON.JSONArray>(s);
for (int i = 0; i < array.Count; i++)
{
string serverFileName = Convert.ToString(((Kingdee.BOS.JSON.JSONObject)array[i])["ServerFileName"]);
string fileName = Convert.ToString(((Kingdee.BOS.JSON.JSONObject)array[i])["FileName"]);
byte[] fileContent = ((Kingdee.BOS.JSON.JSONObject)array[i])["FileContent"] as byte[];
string path = "D:\\tmp\\" + fileName;
File.WriteAllBytes(path, fileContent);
}
}
}
推荐阅读