2015-02-23 49 views
-1

`webClient.UploadFile( 「http://www.myurl.com/~/media/DCF92BB74CDA4D558EEF2D3C30216E30.ashx」,@ 「E:\ filesImage \ Item.png」); 我試圖通過發送我的sitecore地址和我的本地圖像的路徑使用webclient.uploadfile()方法上傳圖像到sitecore,但我無法上傳它。我必須做到這一點沒有任何API和Sitecore實例。如何上傳本地文件夾的圖像,以Sitecore的

+0

Srinu,您的其他評論之一包括您有一些限制。我建議在你的問題中增加這些限制,以確保你得到更好的答案,可以幫助你在你的特定情況。 – 2015-02-23 10:39:15

+0

我不知道這些限制 – 2015-02-23 10:52:54

+0

您在下面聲明:「我沒有使用Sitecore命名空間和媒體項目,我必須通過Xml」 以及: 「如何使用WebClient」來完成。 這些限制了您可以使用哪些選項。 – 2015-02-23 10:59:49

回答

1

上載過程將是same as with any ASP.net application。但是,一旦文件上傳完畢,您需要編程創建媒體項目。您可以從文件系統中的實際文件或內存流中執行此操作。

的過程涉及使用MediaCreator對象和使用它的方法CreateFromFile

本博客文章概述了整個過程: Adding a file to the Sitecore Media Library programatically

+0

我沒有使用Sitecore名稱空間和媒體項目。我必須通過Xml – 2015-02-23 09:57:30

+0

來實現我假設你的意思是你想直接輸入數據到數據庫中。我不知道如何做到這一點,我也不會建議嘗試。 – 2015-02-23 10:07:20

+0

U可能是正確的,但我必須這樣做。你能幫我怎麼做使用WebClient – 2015-02-23 10:10:16

1

如果你只是想優化您的工作流程開發人員使用Remoting的API爲如果您的客戶在這個this blog post

+0

我想通過WebClient上傳圖片到Sitecore電話 – 2015-02-23 10:47:47

0

描述您可以使用Sitecore PowerShell Extensions上傳圖片到網站上,您需要在您的主數據庫中創建該項目。 (需要在主數據庫上進行訪問和寫入權限)取決於您可能會考慮使用自定義代碼構建的安全性。

但是利用營銷模塊開箱文件上傳的Sitecore的web表單。創建一個帶有上傳字段的表單並使用WFFM web服務。

0

選項:您可以使用Item Web API。不需要引用任何Sitecore DLL。您只需要訪問主機並能夠啓用Item Web API。

參考文獻: 使用它上傳文件:http://www.sitecoreinsight.com/how-create-media-items-using-sitecore-item-web-api/

啓用項目的Web API:http://sdn.sitecore.net/upload/sdn5/modules/sitecore%20item%20web%20api/sitecore_item_web_api_developer_guide_sc66-71-a4.pdf#search=%22item%22

我想這是相當多的,你需要什麼,但周杰倫小號提到的,如果你把更多詳情您的問題有助於找到適合您的特定情況的最佳選擇。

0

如果你不想使用Sitecore的API,那麼你就可以做到以下幾點:

  1. 編寫上傳圖片到這個文件夾中的代碼:[根] /上傳/
  2. 您可能需要創建代表圖像是如何存儲在Sitecore的,如文件夾結構:您的圖片上傳到[根] /上傳/導入/將存儲在/Sitecore的/媒體庫/導入
  3. Sitecore的將AUT omatically上傳這些圖片到媒體庫

希望這有助於

1

如果您想使用網絡服務的方式比你可以使用的方式,內容如下數字:
一)Sitecore的岩石的WebService(如果您被允許安裝或已經可用)。
b)Sitecore Razl服務(這是需要許可證的第三方)。
c)Sitecore Powershell Remoting(這需要在Sitecore服務器上安裝Sitecore PowerShell擴展)。
d)您也可以使用Sitecore的服務,您可以根據Sitecore的\殼\ WebService的找到\ Service.asmx(不過這是新SitecoreItemWebAPI的傳統)
E)Last is my enhanced SitecoreItemWebAPI(這也需要SitecoreItemWebApi 1.2作爲先決條件) 。

但最後除了選項d,你需要安裝一些或其他東西,以便使用HTTP上傳圖像,你也應該知道使用上述任何一種方法的有效憑證。

+0

如何我可以訪問「Sitecore.Resources.Media.MediaCreatorOptions」類 – 2015-02-24 06:19:42

+0

嗨Srinu,這是一種類型,您可以在Sitecore.Kernel .dll文件中找到,正如馬丁上面所說的,您可以使用布萊恩的這篇文章創建媒體項目。 – Vishu 2015-02-24 13:07:31

+0

我可以知道MediaItem是什麼意思 – 2015-02-25 04:35:53

0
private void CreateImageIteminSitecore() 
    { 
     filePath = @"C:\Sitecore\Website\ImageTemp\Pic.jpg; 
     using (new SecurityDisabler()) 
     { 
      Database masterDb = Sitecore.Configuration.Factory.GetDatabase("master"); 

      Sitecore.Resources.Media.MediaCreatorOptions options = new Sitecore.Resources.Media.MediaCreatorOptions(); 
      options.FileBased = true; 
      options.AlternateText = Path.GetFileNameWithoutExtension(filePath); 
      options.Destination = "/sitecore/media library/Downloads/"; 
      options.Database = masterDb; 


      options.Versioned = false; // Do not make a versioned template 
      options.KeepExisting = false; 
      Sitecore.Data.Items.MediaItem mediaitemImage = new Sitecore.Resources.Media.MediaCreator().CreateFromFile(filePath, options); 
      Item ImageItem = masterDb.GetItem(mediaitemImage.ID.ToString()); 
      ImageItem.Editing.BeginEdit(); 
      ImageItem.Name = Path.GetFileNameWithoutExtension(filePath); 
      ImageItem.Editing.EndEdit(); 
     } 
    } 
相關問題