使用 Rest API 和 Javascript 合并代码以绘制表格和移动文件

杰克逊克里斯托弗

下面的代码用于使用 CEWP SPO 绘制表格。我需要在同一个表的每一行上添加一个按钮,以便将相应的文件从当前位置移动到同一个 SPO 站点中的另一个文档库。使用 FileLeafRef 检索文件名。

使用 Ajax GET 类型提取数据,而移动命令将使用 POST 类型。请协助合并这两个功能以获得所需的功能。

当前代码

$(function(){
        var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('List_Name')/items?$top=10&$orderby=Created%20desc&$select=Reg,NBR,Date";
           $.ajax({
              url: requestUri,
              type: "GET",
              headers: {
                  "accept":"application/json; odata=verbose"
              },
              success: onSuccess,
});
  function onSuccess(data) {
     var objItems = data.d.results;
     var tableContent = '<table id="Table"><tr><th>Reg</th><th>Num</th><th>Date</th></tr>';
     for (var i = 0; i < objItems.length; i++) {
         tableContent += '<tr>';
         tableContent += '<td>' + objItems[i].Reg + '</td>';
         tableContent += '<td>' + objItems[i].NBR + '</td>';
         tableContent += '<td>' + moment(objItems[i].Date).format("DD-MM-YYYY") + '</td>';       
         tableContent += '</tr>';
 }
   $('#Grid').append(tableContent);
   }
});

移动文件代码

function MoveFile(){
        var oUrl =  _spPageContextInfo.webAbsoluteUrl +"/_api/web/getfilebyserverrelativeurl('/Lib1/doc.docx')/moveto(newurl='/Lib2/doc.docx',flags=1)";
        $.ajax({
            url: oUrl,
            type: "POST",
            headers: {
                "Accept": "application/json; odata=verbose",
                "X-RequestDigest":  $("#__REQUESTDIGEST").val()
            },
            success: function(data){
                console.log(data);
            },
            error: function(data){
                console.log(data);
            }
        });
    }
杰瑞

检查下面的合并代码:

<script>


    $(function () {
        var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('Documents')/items?$top=10&$orderby=Created desc&$select=*,FileLeafRef";
        $.ajax({
            url: requestUri,
            type: "GET",
            headers: {
                "accept": "application/json; odata=verbose"
            },
            success: onSuccess,
        });
        function onSuccess(data) {
            var objItems = data.d.results;
            console.log(objItems)
            var tableContent = '<table id="Table" style="width:100%"><tr><th>ID</th><th>Title</th><th>Date</th></tr>';

            for (var i = 0; i < objItems.length; i++) {
                if (objItems[i].FileSystemObjectType != 1) {
                    var fileName=encodeURI(objItems[i].FileLeafRef);
                    var button = "<input type='button' value='MoveFile' onclick= MoveFile('"+encodeURI(objItems[i].FileLeafRef) +"')>"
                    tableContent += '<tr>';
                    tableContent += '<td>' + objItems[i].ID + '</td>';
                    tableContent += '<td>' + objItems[i].FileLeafRef + '</td>';
                    tableContent += '<td>' + moment(objItems[i].Created).format("DD-MM-YYYY") + '</td>';
                    tableContent += '<td>' + button + '</td>';
                    tableContent += '</tr>';

                }
            }
            $('#Grid').append(tableContent);
        }
    });

    function MoveFile(FileLeafRef) {
        var sourceFile = "/sites/NewProvision/Shared Documents/" + FileLeafRef;
        var targetFile = '/sites/NewProvision/doc1/' + FileLeafRef;
        var oUrl = _spPageContextInfo.webAbsoluteUrl + "/_api/web/GetFileByServerRelativePath(decodedurl='" + sourceFile + "')/moveto(newurl='" + targetFile + "',flags=1)";
        $.ajax({
            url: oUrl,
            type: "POST",
            headers: {
                "Accept": "application/json; odata=verbose",
                "X-RequestDigest": $("#__REQUESTDIGEST").val()
            },
            success: function (data) {
                console.log(data);
            },
            error: function (data) {
                console.log(data);
            }
        });
    }
</script>

<div id="Grid">

在 MoveFile 函数中,传递一个“FileLeafRef”作为特定文件名的参数,并为设置文件 url 动态定义 sourceFile/targetFile 参数。

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章