我有一个脚本可以将图像上传到媒体库(可以正常工作),然后将每个图像分配给一个同样有效的特定文档字段。唯一的问题是预览缩略图未显示:
更新字段的代码非常简单:
private static void AssignImageToProject(string projectID, int index, string imgUrl)
{
var projectPage = _projectPages
.Where(p => p.GetStringValue("ProjectID", null) == projectID)
.FirstOrDefault();
if (projectPage == null) return;
projectPage.CheckOut();
projectPage.SetValue($"ProjectImage{index+1}", $"{imgUrl}");
// Updates the page in the database
projectPage.Update();
// Creates a new version of the updated page (required even when not using content locking)
// If using content locking, checks in the page
projectPage.CheckIn();
projectPage.Publish();
}
根据数据库,图像URL是正确的,并且图像按预期在前端显示。我可以调用一种方法来生成预览吗?
顺便说一下,我正在使用Kentico 11。
尽管默认的Kentico控件未在管理界面中显示URL,但它仍以“〜”符号开头保存URL。如果您这样修改代码:
projectPage.SetValue($"ProjectImage{index+1}", $"~{imgUrl}");
应该会有所帮助。确保在数据库的实际字段中看到如下所示:
~/getmedia/16b40b07-9b41-4812-9194-4bb35470ad8c/Bakery-And-Coffee.jpg?width=849&height=565&ext=.jpg
您的项目图片字段的类型是什么?这不是文件或附件。对于这些类型,您可以预览。
如果您使用管理界面手动上传图片,在这种情况下可以预览吗?如果是,则只需检查数据库并比较差异。