本文整理汇总了C#中DigitalPlatform.rms.Client.ResPath.GetObjectId方法的典型用法代码示例。如果您正苦于以下问题:C# ResPath.GetObjectId方法的具体用法?C# ResPath.GetObjectId怎么用?C# ResPath.GetObjectId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DigitalPlatform.rms.Client.ResPath
的用法示例。
在下文中一共展示了ResPath.GetObjectId方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DoResUpload
//.........这里部分代码省略.........
strID = "?"; // 将来加一个对话框
}
// 2)用目标库路径构造完整的记录路径
string strTargetFullPath = "";
if (mapItem.Target == "*")
{
respath = new ResPath(strResPath);
respath.MakeDbName();
strTargetFullPath = respath.FullPath;
}
else
{
strTargetFullPath = mapItem.Target;
}
respath = new ResPath(strTargetFullPath);
strTargetPath = respath.Path + "/" + strID;
strRecordPath = strTargetPath;
channel = this.Channels.GetChannel(respath.Url);
}
else // 第二个以后的资源
{
if (channel == null)
{
strError = "当bIsFirstRes==false时,参数channel不应为null...";
goto ERROR1;
}
ResPath respath = new ResPath(strResPath);
string strObjectId = respath.GetObjectId();
if (strObjectId == null || strObjectId == "")
{
strError = "object id为空...";
goto ERROR1;
}
strTargetPath = strRecordPath + "/object/" + strObjectId;
if (strRecordPath == "")
{
strError = "strRecordPath参数值为空...";
goto ERROR1;
}
}
// string strLocalPath = DomUtil.GetAttr(node,"localpath");
// string strMimeType = DomUtil.GetAttr(node,"mimetype");
string strTimeStamp = DomUtil.GetAttr(node, "timestamp");
// 注意,strLocalPath并不是要上载的body文件,它只用来作元数据\
// body文件为strBodyTempFileName
// 3.将body文件拆分成片断进行上载
string[] ranges = null;
if (lBodyLength == 0)
{ // 空文件
ranges = new string[1];
ranges[0] = "";
}
else
{
string strRange = "";
示例2: UploadObjects
// return:
// -1 出错
// 0 成功
public int UploadObjects(
Stop stop,
RmsChannel channel,
List<UploadRecord> records,
ref bool bDontPromptTimestampMismatchWhenOverwrite,
out string strError)
{
strError = "";
int nRet = 0;
foreach (UploadRecord record in records)
{
if (record.ResList == null
|| record.ResList.Count <= 1)
continue;
int i = 0;
foreach (OneRes res in record.ResList)
{
if (i == 0)
{
i++;
continue;
}
// record.RecordBody.Path; // 注意检查里面不能有问号
ResPath temp = new ResPath(res.Path); // 检查 object id
string strID = temp.GetObjectId();
string strObjectPath = record.RecordBody.Path + "/object/" + strID;
int nRedoCount = 0;
REDO:
// 上载一个res
// parameters:
// strRecordPath 主记录的路径
// inputfile: 源流
// bIsFirstRes: 是否是第一个资源(xml)
// strError: error info
// return:
// -2 片断中发现时间戳不匹配。本函数调主可重上载整个资源
// -1 error
// 0 successed
nRet = UploadOneRes(
this.m_owner,
stop,
channel,
ref strObjectPath,
this.Stream,
res,
false,
"", // strCount,
ref bDontPromptTimestampMismatchWhenOverwrite,
out strError);
if (nRet == -1)
{
// 如果 channel.ErrorCode == ChannelErrorCode.NotFound
// 表示元数据记录不存在,或者其中对应 id 的 <dprms:file> 元素不存在
return -1;
}
if (nRet == -2)
{
// TODO: 防止死循环
nRedoCount++;
if (nRedoCount > 3)
{
return -1;
}
goto REDO;
}
i++;
}
}
return 0;
}