Kentico - 通过 API 更新文档字段后生成图像预览
Kentico - generate image previews after updating document field via API
我有一个脚本可以将图像上传到媒体库(工作正常),然后将每个图像分配给一个特定的文档字段,这也可以工作。唯一的问题是预览缩略图没有显示:
更新字段的代码非常简单:
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。
编辑:在我的数据库中,字段值以波浪号“~”开头,但正如您在屏幕截图中看到的那样,页面没有在值前加上波浪号。但是,如果我单击 Select,它会将我带到正确的图像,如果我 select 它,它会用波浪线更新该字段,我得到图像预览
默认的 Kentico 控件保存 URL 开头带有“~”符号,即使它没有在管理中显示它 UI。如果您像这样修改代码:
projectPage.SetValue($"ProjectImage{index+1}", $"~{imgUrl}");
应该会有帮助。确保在数据库的实际字段中看到如下内容:
~/getmedia/16b40b07-9b41-4812-9194-4bb35470ad8c/Bakery-And-Coffee.jpg?width=849&height=565&ext=.jpg
更新:似乎在 URL '&ext=.jpg'
中保留扩展参数也很重要
您的项目图像字段的类型是什么?这不是文件或附件。对于那些你有预览的类型。
如果您使用管理界面手动上传图片。在这种情况下预览是否有效?如果是,只需检查数据库并比较差异。
我有一个脚本可以将图像上传到媒体库(工作正常),然后将每个图像分配给一个特定的文档字段,这也可以工作。唯一的问题是预览缩略图没有显示:
更新字段的代码非常简单:
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。
编辑:在我的数据库中,字段值以波浪号“~”开头,但正如您在屏幕截图中看到的那样,页面没有在值前加上波浪号。但是,如果我单击 Select,它会将我带到正确的图像,如果我 select 它,它会用波浪线更新该字段,我得到图像预览
默认的 Kentico 控件保存 URL 开头带有“~”符号,即使它没有在管理中显示它 UI。如果您像这样修改代码:
projectPage.SetValue($"ProjectImage{index+1}", $"~{imgUrl}");
应该会有帮助。确保在数据库的实际字段中看到如下内容:
~/getmedia/16b40b07-9b41-4812-9194-4bb35470ad8c/Bakery-And-Coffee.jpg?width=849&height=565&ext=.jpg
更新:似乎在 URL '&ext=.jpg'
您的项目图像字段的类型是什么?这不是文件或附件。对于那些你有预览的类型。
如果您使用管理界面手动上传图片。在这种情况下预览是否有效?如果是,只需检查数据库并比较差异。