本文整理汇总了C#中PartInfo.AbsolutePath方法的典型用法代码示例。如果您正苦于以下问题:C# PartInfo.AbsolutePath方法的具体用法?C# PartInfo.AbsolutePath怎么用?C# PartInfo.AbsolutePath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PartInfo
的用法示例。
在下文中一共展示了PartInfo.AbsolutePath方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddContent
public void AddContent(PartInfo rel, Stream sourceStream)
{
PartInfo parentPart = GetPart(rel.RelatedTo);
PartInfo clonedPart = new PartInfo(this, rel);
string sContentType;
if (ContentIsInternalType(rel.Type))
{
sContentType = rel.GetContentType();
clonedPart.Target = RemoveLeadingSlash(clonedPart.Target);
parentPart.AddRelatedItem(clonedPart);
if (m_partsMap.ContainsKey(clonedPart.AbsolutePath()) && sourceStream == null)
{ // we have already added this content via a relationship elsewhere, don't need to write it
return;
}
m_partsMap.Add(clonedPart.AbsolutePath(), clonedPart);
if (sourceStream != null)
{
string partName = clonedPart.AbsolutePath();
AddZipEntry(partName, sourceStream);
if (rel.ContentTypeOverriden())
m_contentTypes.Add("/" + partName, sContentType);
}
}
else
{//we should only get here for external rels - so there should never be an additional stream to add
parentPart.AddRelatedItem(clonedPart);
sContentType = rel.Type;
if (m_partsMap.ContainsKey(clonedPart.Target))
{ // we have already added this content via a relationship elsewhere, don't need to write it
return;
}
m_partsMap.Add(clonedPart.Target, clonedPart);
if (sourceStream != null)
{
throw new System.InvalidOperationException("Sourcestream is not null for supposedly external hyperlink part");
}
}
}
示例2: GetPartContent
public Stream GetPartContent(PartInfo part)
{
string sPhysicalName = part.AbsolutePath();
return GetPartContent(sPhysicalName);
}
示例3: TryLoadRelationships
private void TryLoadRelationships(PartInfo forPart)
{
string sRelRoot = forPart.AbsolutePath();
if (m_partsMap.ContainsKey(sRelRoot))
{
// already been here by some other path
// However, need to add the related objects to forPart, which is a copy of the object in the map, because sorting in
// the part filter may change the order in which we retrieve things from the relationship tree
// Slides have circular relationships in the pptx files so watch that if we re-write this to use the mapped objets
List<PartInfo> pliRels = m_partsMap[sRelRoot].GetRelatedObjects();
foreach (PartInfo rpi in pliRels)
{
forPart.AddRelatedItem(rpi);
}
return;
}
m_partsMap[sRelRoot] = forPart;
using (Stream str = GetPartContent(BuildRelationshipPartName(sRelRoot)))
{
if (str == null)
return;
forPart.LoadRelationships(str);
foreach (PartInfo part in forPart.GetRelatedObjects())
{
if (!part.External)
TryLoadRelationships(part);
}
}
}