Sitecore 6.6 Shell Excel上传器

时间:2014-05-14 04:11:04

标签: asp.net sitecore sitecore6

最近将sitecore实例从6.1升级到6.6。有一个上传命令打开了自定义xaml对话框。这上面有一个上传按钮,可以打开另一个模态:

UploadPackageForm.Show(MyConstants.FolderPath, true);

在整个网站上测试某些功能点时,我在使用此上传程序时遇到错误,说上传的文件需要是一个zip文件。我猜测从6.1到6.6的某个地方,包装上传器检查了上传的文件类型。我一直在四处寻找sitecore附带的对话框,我可以使用它。这看起来很有希望:

我似乎无法从这一个获取文件路径,虽然我认为我可以在传递给OnOK事件的args上设置一个属性,我将在明天尝试。

Sitecore.Shell.Applications.Install.Dialogs.AddFilesDialog

我不确定如何展示这个:

Sitecore.Shell.Applications.Dialogs.Upload

另一种选择是尝试制作自定义对话框。任何想法和想法都表示赞赏。

2 个答案:

答案 0 :(得分:1)

Sitecore应用中的网站访问者或Sitecore用户是否上传?无论如何,6.6中的UploadPackageForm验证该文件是有效的Sitecore包(始终是ZIP文件)。 6.1没有这样做。

在安装Sitecore应用程序的环境中,也不要使用AddFilesDialog。

我不确定上传的内容,但是如果它适用于渲染的网站,则应创建自己的内容。如果它适用于Sitecore应用,则有几种取决于您的需求。有FlashUpload(/ sitecore / shell / Applications / FlasUpload下有3种类型),媒体上传到/ sitecore / shell / Applications / Media / Upload ****。

答案 1 :(得分:1)

我查看了处理文件资源管理器的代码(不限制上传文件类型)并找到了这个。可能有用:

public static void UploadToDirectory(string directory)
{
  Assert.ArgumentNotNull((object) directory, "directory");
  Error.AssertString(directory, "directory", true);
  UrlString urlString = new UrlString("/sitecore/shell/Applications/Dialogs/Upload/Upload.aspx");
  urlString.Append("di", directory);
  Context.ClientPage.ClientResponse.ShowModalDialog(urlString.ToString(), "files:uploaded");
}

此方法位于Sitecore.Shell.Framework.Files

中的Sitecore.Kernel