2015-10-15 174 views
1

Sitecore的媒体库如何从一个文件夹上传服务器将图像上传到从服务器

var dir = new DirectoryInfo(MapPath("~/images/temp")); 
FileInfo[] files = dir.GetFiles(); 
var list = new ArrayList(); 

foreach (FileInfo file in files) 
    { 
     if (file.Extension == ".jpg" || file.Extension == ".jpeg" || file.Extension == ".gif" || file.Extension == ".png") 
     { 
      list.Add(file); 
     } 
    } 

// Now I want to add the files to media library in sitecore. 

回答

3

上的图像,以Sitecore的媒体库将文件添加到媒体库中使用这种方法:

public MediaItem AddFile(string fileName, string sitecorePath, string mediaItemName) 
{ 
    // Create the options 
    Sitecore.Resources.Media.MediaCreatorOptions options = new Sitecore.Resources.Media.MediaCreatorOptions(); 
    // Store the file in the database, not as a file 
    options.FileBased = false; 
    // Remove file extension from item name 
    options.IncludeExtensionInItemName = false; 
    // Overwrite any existing file with the same name 
    options.KeepExisting = false; 
    // Do not make a versioned template 
    options.Versioned = false; 
    // set the path 
options.Destination = sitecorePath + "/" + mediaItemName; 
// Set the database 
options.Database = Sitecore.Configuration.Factory.GetDatabase("master"); 

    // Now create the file 
    Sitecore.Resources.Media.MediaCreator creator = new Sitecore.Resources.Media.MediaCreator(); 
    MediaItem mediaItem = creator.CreateFromFile(filename, options); 
    return mediaItem; 
} 

你会调用这个方法:

MediaItem myFile = AddFile("c:\\myfile.pdf", "myfile", "/pdffolder/uploaded"); 

在你的情况,你将有:

var dir = new DirectoryInfo(MapPath("~/images/temp")); 
FileInfo[] files = dir.GetFiles(); 
var list = new ArrayList(); 

foreach (FileInfo file in files) 
{ 
    if (file.Extension == ".jpg" || file.Extension == ".jpeg" || file.Extension == ".gif" || file.Extension == ".png") 
    { 
     AddFile(file.FullName, file.Name, "/pdffolder/uploaded"); 
    } 
} 

详细信息您可以在这里找到: https://briancaos.wordpress.com/2009/07/09/adding-a-file-to-the-sitecore-media-library-programatically/

+0

感谢您的回答。这行是做什么'MediaItem mediaItem = creator.CreateFromFile(“c:\\ myfile.pdf”,options);' – Kamran

+0

我更新了我的答案,正在创建一个给定的文件mediaitem。 –

+0

我正在使用您的代码。但没有任何事情发生。我也更新了我的问题。你可以检查一下吗? – Kamran