gpt4 book ai didi

c# - 以编程方式将文件添加到 Kentico 媒体库

转载 作者:行者123 更新时间:2023-11-30 19:47:26 24 4
gpt4 key购买 nike

使用 CMSDesk 并单击“工具”选项卡,然后单击“媒体库”,我可以将文件添加到内置的 Kentico 媒体库中。有没有办法使用他们的 API 来做到这一点?

最佳答案

您可以使用 Kentico API 执行此操作。它实际上非常丰富,但其中的文档和示例有点缺乏。

以下是一个示例方法(实际上用作 Web 服务方法,因为我们有远程和本地页面都使用它)和调用它的示例方法(比如来自“编辑”网页)。

fileLogo -> protected System.Web.UI.WebControls.FileUpload fileLogo;

        [WebMethod]
public bool Import(int libraryID, string folderName, string fileName, byte[] bytes)
{
SiteInfo siteInfo = SiteInfoProvider.GetCurrentSite();
MediaLibraryInfo libraryInfo = MediaLibraryInfoProvider.GetMediaLibraryInfo(libraryID);

fileName = fileName.Replace(" ", "-").Replace("&", "-").Replace("'", "-").Replace("+", "-").Replace("=", "-").Replace("[", "-").Replace("]", "-").Replace("#", "-").Replace("%", "-").Replace("\\", "-").Replace("/", "-").Replace(":", "-").Replace("*", "-").Replace("?", "-").Replace("\"", "-").Replace("<", "-").Replace(">", "-").Replace("|", "-");

bool bRetValue = false;

string filePath = Server.MapPath(string.Format("/{0}/media/{1}/{2}/{3}", siteInfo.SiteName, libraryInfo.LibraryFolder, folderName, fileName));
File.WriteAllBytes(filePath, bytes);
if (File.Exists(filePath))
{
string path = MediaLibraryHelper.EnsurePath(filePath);
MediaFileInfo fileInfo = new MediaFileInfo(filePath, libraryInfo.LibraryID, folderName);
fileInfo.FileSiteID = siteInfo.SiteID;
MediaFileInfoProvider.ImportMediaFileInfo(fileInfo);
bRetValue = true;
}

return bRetValue;
}

string filePath = "~/SITENAME/media/SITE_MEDIALIB/Logos/";
string fileName = string.Empty ;

if (fileLogo.FileName.Length > 0)
{
var ext = fileLogo.FileName.Substring(fileLogo.FileName.LastIndexOf('.') + 1).ToLower();

fileName = entryTitle + "." + ext;

MediaLibrary il = new MediaLibrary();
il.Import(3, "FOLDERNAME", fileName, fileLogo.FileBytes);
}

关于c# - 以编程方式将文件添加到 Kentico 媒体库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6771085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com