gpt4 book ai didi

sitecore - 如何使用 ASP FileUpload 控件在代码中将文件上传到 Sitecore 媒体库?

转载 作者:行者123 更新时间:2023-12-04 18:49:04 25 4
gpt4 key购买 nike

这是我尝试过的,但似乎不起作用。我没有收到任何错误,但它似乎也没有将文件添加到媒体库中。

using(new Sitecore.SecurityModel.SecurityDisabler())
{
if(myFileControl.HasFile)
{
MediaCreatorOptions _options = new MediaCreatorOptions();
_options.Database = Factory.GetDatabase("master");
_options.FileBased = false;
_options.IncludeExtensionInItemName = false;
_options.KeepExisting = false;
_options.Versioned = false;
_options.Destination = "/sitecore/media library";
MediaItem _newFile = MediaManager.Creator.CreateFromStream(myFileControl.FileContent, myFileControl.FileName, _options);
}
}

我最大的问题是我并不真正了解一些不同的参数和属性的作用。 MediaCreatorOptions 的“Destination”属性是什么?它应该只是一个文件夹吗?它也应该有项目名称吗? CreateFromStream 方法的三个参数是什么?第一个似乎是 Stream - 我明白了。但第二个是“文件名”。这应该是什么?如果我从 Stream 创建,为什么我需要告诉 Sitecore FileName?

任何帮助,将不胜感激。

最佳答案

我认为您的问题是您没有为 Sitecore API 调用使用正确的选项。您没有真正的目的地……您可以在其中指定将成为您的项目的 Sitecore 项目……而不仅仅是文件夹。您似乎正在尝试创建媒体库项目。

根据 SDN 上的 Content API Book:

如何使用 API 创建媒体项目

您可以使用 Sitecore.Resources.Media.MediaCreator 和
Sitecore.Resources.Media.MediaCreatorOptions 类,用于从文件创建媒体项目。
例如,要创建媒体项/Sitecore/Media Library/Images/Sample
来自文件 C:\temp\sample.jpg 的主数据库:

Sitecore.Resources.Media.MediaCreatorOptions options =  new Sitecore.Resources.Media.MediaCreatorOptions();
options.Database = Sitecore.Configuration.Factory.GetDatabase("master");
options.Language = Sitecore.Globalization.Language.Parse(Sitecore.Configuration.Settings.DefaultLanguage);
options.Versioned = Sitecore.Configuration.Settings.Media.UploadAsVersionableByDefault;
options.Destination = "/sitecore/media library/images/Sample";
options.FileBased = Sitecore.Configuration.Settings.Media.UploadAsFiles;
Sitecore.Resources.Media.MediaCreator creator = new Sitecore.Resources.Media.MediaCreator();
Sitecore.Data.Items.MediaItem sample = creator.CreateFromFile(@"C:\temp\sample.jpg",options)

关于sitecore - 如何使用 ASP FileUpload 控件在代码中将文件上传到 Sitecore 媒体库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8973797/

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