2014-05-14 24 views
1

一個sitecore實例最近從6.1升級到6.6。有一個上傳命令打開了一個自定義的xaml對話框。這有它的上傳按鈕,將打開另一個模式:Sitecore 6.6 Shell Excel上傳器

UploadPackageForm.Show(MyConstants.FolderPath, true); 

雖然跨越我遇到了一個錯誤,而使用此上傳說,該文件被上傳需要是一個zip的現場測試功能的一些點文件。我猜測,從6.1到6.6的某個地方,軟件包上傳者被檢查了上傳的文件類型。我一直在尋找sitecore附帶的對話框,以便我可以使用。這些看起來很有希望:

我似乎無法從這個文件路徑,但我想我可以設置一個屬性傳遞到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.FilesSitecore.Kernel

+1

這看起來很穩固。我現在就試試看。 – Teeknow

+0

這看起來不錯。我將環顧一下獲取上傳的第一個文件名的方法,因爲我想在使用該文件上傳對話框之前填充對話框。 – Teeknow

+0

太好了。我建議反編譯'Sitecore.Client.Dll'並找到該類的引用。 –

1

Sitecore應用內的網站訪問者或Sitecore用戶是否上傳?無論如何,6.6中的UploadPackageForm驗證該文件是有效的Sitecore包(始終是ZIP文件)。 6.1沒有這樣做。

不要使用AddFilesDialog,因爲這也是在安裝Sitecore應用程序的上下文中。

我不完全確定上傳的內容是什麼,但如果是渲染的網站,您應該創建自己的。如果它是一個Sitecore應用程序,有幾個取決於你需要什麼。有FlashUpload(在/ sitecore/shell/Applications/FlasUpload下有3種類型),媒體上傳在/ sitecore/shell/Applications/Media/Upload ****。

+0

我會檢查一些這些出來。內容編輯器可以上傳Excel文件,然後可以根據文件的每一行來創建項目。 – Teeknow