下面的代码用于使用 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] 删除。
我来说两句