2015-02-23 46 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(); 
     } 
    } 
相关问题