Sharepoint2013使用Rest\Jsom从资产库中获取视频文件的URL

use*_*048 1 sharepoint

有没有办法可以使用JSOM或REST获取上传到SharePoint2013资产库的视频文件的URL?

我试着查看资产库"视频"内容类型,并且我找到了存储上传视频文件的URL的任何网站列.

谢谢,

Vad*_*hev 5

首先,为了从SharePoint 2013中的资产库中检索视频,了解视频的组织方式非常重要.

视频是如何组织的?

根据SharePoint 2013中的增强视频体验:

视频的组织方式类似于文档集,文档集是一组相关文档,可以在一个步骤中创建并作为一个实体进行管理.要了解有关文档集的更多信息,请参阅 文档集简介.SharePoint会创建一个存根(将其视为文件夹)来保存视频和所有相关内容,例如用户定义的属性,缩略图,视频再现以及与视频相关的其他文档.上传视频文件时,SharePoint会自动为该视频创建此存根.您可以将视频集想象为与该视频相关的所有内容的封装.

假设Wildlife_512kb.mp4必须将文件上载到Assets库中.

然后,在将文件上载到Assets库之后,将生成以下具有内容的文件夹结构 在此输入图像描述

实际的视频文件将存储在:

<ListUrl>/<VideoSet>/<FileName>
Run Code Online (Sandbox Code Playgroud)

其中VideoSet(文件夹容器)名称将设置为没有扩展名的文件名.

例子

如何通过JSOM在Assets库中检索视频文件Url

function getAssetFileUrl(listTitle,videoFileName,success,error) {

  var context = SP.ClientContext.get_current();
  var list = context.get_web().get_lists().getByTitle(listTitle);   
  context.load(list,'RootFolder');

  context.executeQueryAsync(
   function(){
      var videoSetName = videoFileName.substring(0,videoFileName.lastIndexOf(".")); 
      var videoFileUrl = list.get_rootFolder().get_serverRelativeUrl() + "/" + videoSetName + "/" + videoFileName;
      success(videoFileUrl);
   }, 
   error
);

}
Run Code Online (Sandbox Code Playgroud)

用法

var listTitle = 'Assets';
var videoFileName = 'Wildlife_512kb.mp4';
getAssetFileUrl(listTitle,videoFileName,
   function(fileUrl) {
      console.log(fileUrl);   
   },
   function(sender,args){
      console.log(args.get_message());    
   });
Run Code Online (Sandbox Code Playgroud)

参考

SharePoint 2013中增强的视频体验

  • 这绝对是好的..但如果我们不知道文件名,如何从资产库中获取所有视频.例如:我想显示所有视频缩略图..如果用户点击缩略图,那么特定视频应该播放..如何实现这一目标? (2认同)