2014-05-14 2 views
1

Экземпляр sitecore недавно был обновлен с 6.1 до 6.6. Появилась команда загрузки, которая открыла пользовательский диалог xaml. Это была кнопка загрузки на него, который откроет еще один модальный с:Sitecore 6.6 Shell Excel Uploader

UploadPackageForm.Show(MyConstants.FolderPath, true); 

Во время тестирования некоторых пунктов функциональности по всему сайту я столкнулся с ошибкой при использовании этого загрузчика о том, что файл загружается должен быть почтовым файл. Я предполагаю, что где-то по пути от 6.1 до 6.6 загрузчику пакета была дана проверка на загрузку типа файла. Я искал для диалогов, что sitecore приходит с тем, что я могу использовать. Они выглядят многообещающе:

Я не могу получить путь к файлу из этого, хотя я думаю, что могу установить свойство на args, переданное в событие OnOK, которое я попробую завтра.

Sitecore.Shell.Applications.Install.Dialogs.AddFilesDialog 

Я не знаю, как я бы показать это одна:

Sitecore.Shell.Applications.Dialogs.Upload 

Другой вариант заключается в попытке сделать пользовательский диалог. Любые мысли и идеи приветствуются.

ответ

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

+1

Это выглядит довольно солидно. Я попробую это прямо сейчас. – Teeknow

+0

Это выглядит довольно хорошо. Я собираюсь посмотреть вокруг, чтобы получить первое имя файла, которое было загружено, так как я хочу заполнить диалоговое окно перед диалогом загрузки с этим файлом. – Teeknow

+0

Отлично. Я бы рекомендовал декомпилировать 'Sitecore.Client.Dll' и найти ссылки на этот класс. –

1

Является ли загрузка для посетителей сайта или пользователей Sitecore в приложении Sitecore? Несмотря на это, UploadPackageForm, в 6.6, подтверждает, что файл является допустимым пакетом Sitecore (который всегда является файлом ZIP). 6.1 этого не делал.

Не используйте AddFilesDialog, поскольку это также относится к установке приложения Sitecore.

Я не совсем уверен, что такое загрузка, но если это для сайта, который вы создали, вы должны создать свой собственный. Если это приложение Sitecore, есть несколько в зависимости от того, что вам нужно. Существует FlashUpload (3 типа под/sitecore/shell/Applications/FlasUpload), загрузка мультимедиа в/sitecore/shell/Applications/Media/Upload ****.

+0

Я проверить некоторые из таких проблем. Редакторы содержимого могут загружать файлы excel, которые затем могут использоваться для создания элементов на основе каждой строки файла. – Teeknow

Смежные вопросы