如何将图像从本地文件夹上传到Sitecore

时间:2015-02-23 09:15:45

标签: web sitecore sitecore6

`webClient.UploadFile(“http://www.myurl.com/~/media/DCF92BB74CDA4D558EEF2D3C30216E30.ashx”,@“E:\ filesImage \ Item.png”); 我正在尝试使用webclient.uploadfile()方法通过发送我的sitecore地址和本地图像的路径将图像上传到sitecore。但我无法上传它。我必须在没有任何API和Sitecore实例的情况下执行此操作

7 个答案:

答案 0 :(得分:1)

上传过程将是same as with any ASP.net application。但是,一旦文件上传,您需要以编程方式创建媒体项。您可以从文件系统中的实际文件或内存流中执行此操作。

该过程涉及使用MediaCreator对象并使用其CreateFromFile方法。

此博客文章概述了整个过程: Adding a file to the Sitecore Media Library programatically

答案 1 :(得分:1)

如果您只考虑优化开发人员工作流程,可以使用此Sitecore PowerShell Extensions

中所述的远程处理API使用this blog post

答案 2 :(得分:1)

如果您想使用网络服务方式,您可以使用以下方式的多种方式:
a)Sitecore Rocks WebService(如果您可以安装或已经可用) b)Sitecore Razl服务(它是需要许可的第三方) c)Sitecore Powershell Remoting(这需要在Sitecore服务器上安装Sitecore PowerShell扩展) d)您也可以使用Sitecore服务,您可以在sitecore \ shell \ WebService \ Service.asmx下找到它(但这是新SitecoreItemWebAPI的遗产)
e)Last is my enhanced SitecoreItemWebAPI(这也需要SitecoreItemWebApi 1.2作为先决条件)。

但最后除了选项d你需要安装一些或其他东西以便使用HTTP上传图像,你还应该知道使用上述任何方法的有效凭证。

答案 3 :(得分:0)

如果您的客户在网站上传图像,则需要在主数据库中创建该项目。 (需要在master数据库上进行访问和写入)取决于您可能认为不使用自定义代码构建它的安全性。

但是使用Sitecore webforms进行市场营销模块开箱即用。使用上传字段创建表单并使用WFFM Web服务。

答案 4 :(得分: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

我想这几乎是你所需要的,但正如Jay S所提到的,如果你在你的问题上提供更多细节有助于为你的特定情况找到最佳选择。

答案 5 :(得分:0)

如果您不想使用Sitecore API,则可以执行以下操作:

  1. 编写将图片上传到此文件夹的代码: [root] / upload /
  2. 您可能需要创建表示图像在Sitecore中的存储方式的文件夹结构,例如:上传到 [root] / upload / Import / 的图片将存储在 / sitecore中/ media library / Import
  3. Sitecore会自动将这些图片上传到媒体库
  4. 希望这有帮助

答案 6 :(得分:0)

NSURLComponents *components = [NSURLComponents componentsWithURL:[NSURL URLWithString:@"https://itunes.apple.com/app/apple-store/id882456583?pt=63826800&ct=%E5%AE%A3%E4%BC%A0%E8%B4%B4001&mt=8"] resolvingAgainstBaseURL:NO];
NSLog(@"id = %@",[[[components valueForKey:@"path"] componentsSeparatedByString:@"/"] lastObject]);