如何从 SharePoint 文件夹中动态删除 jpg 文件或所有文件

How to dynamically delete jpg files or all files from a SharePoint Folder

提问人:TonyT 提问时间:3/11/2021 最后编辑:TonyT 更新时间:3/11/2021 访问量:290

问:

我正在尝试弄清楚如何仅从SharePoint文件夹(SP 2013)中删除jpg文件。我能够删除特定的 .jpg 文件,但我似乎无法弄清楚如何删除所有 jpg 文件。

我也知道如何删除文件夹中的每个文件。我需要这两种方法。我在最近一次尝试中只删除 jpg 文件时包含了我的代码。任何帮助将不胜感激。

$.ajax({ 
 type: "POST", 
 url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/getfilebyserverrelativeurl('/sites/dcsa/ep/epMainFiles/photoGallery/photoGalleryTest/*.jpg)/recycle()",
 
 headers: { 
     "accept": "application/json; odata=verbose", 
     "IF-MATCH": "*", 
     "X-RequestDigest": $("#__REQUESTDIGEST").val() 
 }, 

 success: function(data){ 
     alert("Document is recycled!"); 
 }, 
 error: function(error){ 
     alert("Error"); console.log(error); 
 } 

}); 
JavaScript 的SharePoint-2013

评论


答:

0赞 Amos 3/11/2021 #1

您可以使用此 rest API 删除文件夹。

POST https://{site_url}/_api/web/GetFolderByServerRelativeUrl('/Folder Name')
Authorization: "Bearer " + accessToken
If-Match: "{etag or *}"
X-HTTP-Method: "DELETE"
X-RequestDigest: "{form_digest_value}"

您可以使用 filter 关键字获取所有 jpg 文件 id,然后一一删除它们。

/_api/web/lists/getbytitle('doc2')/Items?$select=ID,FileLeafRef&$filter=substringof('.jpg',FileLeafRef)

删除列表项 rest 终结点:

POST https://{site_url}/_api/web/lists/GetByTitle('Test')/items({item_id})
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Content-Type: "application/json"
If-Match: "{etag or *}"
X-HTTP-Method: "DELETE"

评论

0赞 TonyT 3/12/2021
删除文件夹的方法真的很好,可以是我的B计划。但是是否可以删除文件夹中的所有内容,而不仅仅是文件夹。该文件夹包含显示在 HTML 上的照片的 .jpg 文件。这些图像将在页面上显示一定天数,然后删除(从文件夹中删除)。我们喜欢添加新照片以备将来显示。每次添加新文件夹可能会导致用户出现问题。任何帮助将不胜感激。
0赞 Amos 3/16/2021
用于获取文件夹下的所有图像。然后比较返回值中的图像后缀,并删除与此 endpointPOST 匹配的端点GET https://{site_url}/_api/web/GetFolderByServerRelativeUrl('/Folder Name')/Fileshttps://{site_url}/_api/web/GetFileByServerRelativeUrl('/Folder Name/{file_name}')