如何在sharepoint 2013中以编程方式在资产库中上载包含自定义元数据属性值的视频文件

时间:2014-08-07 07:22:59

标签: sharepoint-2013

当我尝试在Sp2013资产库中上传文档时,我收到System.IO.Filenot发现异常。 我使用了以下两种方法来添加文件 1] Files.add(文件名,字节,TRUE); 2] docLib.Rootfolder.files.add(文件名,字节,TRUE);

然后我试图获取当前项目,并希望通过以下方法更新元数据属性,但我收到错误,如果我停止调试,则文件上传到相应的文档库 SpListitem item = File.item; //在这里得到空 要么 我也尝试获取文件的唯一ID //获取Null异常

但没有什么对我有用 NOte:我通过Visual Webpart使用asp上传控件上传文件

我的代码示例如下:

                 web.AllowUnsafeUpdates = true;
                 SPDocumentLibrary documentLibrary = (SPDocumentLibrary)web.Lists["MyDocumentLibraryName"];
                 SPFileCollection files = documentLibrary.RootFolder.Files;
                 SPFile newFile = files.Add(documentLibrary.RootFolder.Url + "/" + filename, file_bytes, true);

                 SPList documentLibraryAsList = web.Lists["MyDocumentLibraryName"];
                 SPListItem itemJustAdded = documentLibraryAsList.GetItemById(newFile.ListItemAllFields.ID); //here I have tried many approaches some I have mentioned
                 SPContentType documentContentType = documentLibraryAsList.ContentTypes["Document"]; //amend with your document-derived custom Content Type
                 itemJustAdded["ContentTypeId"] = documentContentType.Id;
                 itemJustAdded["Title"] = itemTitleText;
                 //set other propeerties here..
                 itemJustAdded.Update();
                 newFile.CheckIn("New", SPCheckinType.OverwriteCheckIn);
                 web.AllowUnsafeUpdates = false;

仅针对不适用于图像的视频问题。

请帮助我,我被困住了

1 个答案:

答案 0 :(得分:0)

您需要先从文件夹中检索所有文件,这些视频文件始终存储在您的案例中。

var AllFolders = documentLibraryAsList.RootFolder.Folders;

然后迭代文件夹集合中的每个文件并获取您感兴趣的属性...