【发布时间】:2021-08-22 08:28:18
【问题描述】:
我正在尝试从 URL 获取图像作为 BitmapImage 但不知道如何。该 URL 位于 Sharepoint 列表中,我已经像这样检索到:
public async Task<Microsoft.SharePoint.Client.ListItemCollection> getListContent(string listName)
{
Microsoft.SharePoint.Client.ListItemCollection items;
string userName = Settings.Default.User;
string password = Settings.Default.Pass;
string siteUrl = Settings.Default.URL;
using (ClientContext clientContext = new ClientContext(siteUrl))
{
SecureString securePassword = new SecureString();
foreach (char c in password.ToCharArray())
{
securePassword.AppendChar(c);
}
clientContext.AuthenticationMode = ClientAuthenticationMode.Default;
clientContext.Credentials = new SharePointOnlineCredentials(userName, securePassword);
await clientContext.ExecuteQueryAsync();
Microsoft.SharePoint.Client.List TargetList = clientContext.Web.Lists.GetByTitle(listName);
CamlQuery query = CamlQuery.CreateAllItemsQuery();
items = TargetList.GetItems(query);
clientContext.Load(items);
clientContext.ExecuteQuery();
}
return items;
}
其中一个字段包含指向共享点库中图像的 url,我正在尝试像这样检索它:
public Model.Control createModelControl(Microsoft.SharePoint.Client.ListItem item)
{
return new Model.Control
{
BmpImg = new BitmapImage(new Uri((item["Image"] as FieldUrlValue)?.Url))
}
当我检查结果时,这就是我所拥有的: enter image description here
我想我需要再次使用客户端上下文加载它,但不知道该怎么做。使用 Sharepoint 的前提下,有一个名为“DownloadData”的方法,但 SPO 似乎不存在它......
有什么想法吗?
【问题讨论】:
标签: c# sharepoint-online