在SharePoint Online中非Publishing List是无法创建Publishing Image Field的,这个时候我们可以在Site Settings--->Site Columns中创建Publishing Image Field,创建成功之后再List Settings中通过Add from existing site columns添加。
这种方式在C# SharePoint API 中实现方式如下:
/// <summary>
/// 添加Web级别的Field
/// </summary>
/// <param name="context">Microsoft.SharePoint.Client.ClientContext</param>
/// <param name="fieldType">Column类型</param>
/// <param name="fieldName">Column名称</param>
/// <returns></returns>
private static Field AddField(ClientContext context, string fieldType, string
fieldName)
{
Field existField = context.Web.GetFieldByInternalName(fieldName);
if (existField == null)
{
var fieldId = Guid.NewGuid();
var fieldCI = new FieldCreationInformation(fieldType)
{
Id = fieldId,
InternalName = fieldName,
DisplayName = fieldName,
Group = "Custom Columns",
};
Field field = context.Web.CreateField(fieldCI);
return field;
}
return existField;
}
其中CreateField引用了PnP Core中的FieldAndContentTypeExtensions.CreateField方法