[MSDN]使用 REST 处理文件夹和文件
msdn: http://msdn.microsoft.com/zh-cn/library/dn292553.aspx
了解如何使用 SharePoint 2013 REST 界面对文件夹和文件执行基本的创建、读取、更新和删除 (CRUD) 操作。
适用范围: SharePoint Server 2013 | SharePoint 相关应用程序
您可以检索已知其 URL 的文档库中的文件夹。例如,在以下示例中,您可以使用终结点检索您的“共享文档”库的根文件夹。
url: http://site url/_api/web/GetFolderByServerRelativeUrl('/Shared Documents')
method: GET
headers:
Authorization: "Bearer " + accessToken
accept: "application/json;odata=verbose" or “application/atom+xml”
以下 XML 显示了当您请求 XML 内容类型时返回的文件夹属性的示例。
<content type="application/xml">
<m:properties>
<d:ItemCount m:type="Edm.Int32">0</d:ItemCount>
<d:Name>Shared Documents</d:Name>
<d:ServerRelativeUrl>/Shared Documents</d:ServerRelativeUrl>
<d:WelcomePage/>
</m:properties>
</content>
以下示例演示如何创建文件夹。
url: http://site url/_api/web/folders
method: POST
body: { '__metadata': { 'type': 'SP.Folder' }, 'ServerRelativeUrl': '/document library relative url/folder name’}
Headers:
Authorization: "Bearer " + accessToken
X-RequestDigest: form digest value
accept: "application/json;odata=verbose"
content-type: "application/json;odata=verbose"
content-length:length of post body
以下示例演示如何使用 MERGE 方法更新文件夹。
url: http://site url/_api/web/GetFolderByServerRelativeUrl('/Folder Name')
method: POST
body: { '__metadata': { 'type': 'SP.Folder' }, 'Name': 'New name' }
Headers:
Authorization: "Bearer " + accessToken
X-RequestDigest: form digest value
“IF-MATCH”: etag or “*”
“X-HTTP-Method”:”MERGE”,
accept: "application/json;odata=verbose"
content-type: "application/json;odata=verbose"
content-length:length of post body
以下示例演示如何删除文件夹。
url: http://site url/_api/web/GetFolderByServerRelativeUrl('/Folder Name')
method: POST
Headers:
Authorization: "Bearer " + accessToken
X-RequestDigest: form digest value
“IF-MATCH”: etag or “*”
“X-HTTP-Method”:”DELETE”
以下示例演示如何检索文件夹中的所有文件。
url: http://site url/_api/web/GetFolderByServerRelativeUrl('/Folder Name')/Files
method: GET
headers:
Authorization: "Bearer " + accessToken
accept: "application/json;odata=verbose" or “application/atom+xml”
以下示例演示如何检索特定文件。
url: http://site url/_api/web/GetFolderByServerRelativeUrl('/Folder Name')/Files(‘file name’)/$value
method: GET
headers:
Authorization: "Bearer " + accessToken
您还可以检索已知其 URL 的文件,如以下示例所示。
url: http://site url/_api/web/GetFileByServerRelativeUrl('/Folder Name/file name’)/$value
method: GET
headers:
Authorization: "Bearer " + accessToken
以下示例演示如何创建文件并将其添加到文件夹中。
url: http://site url/_api/web/GetFolderByServerRelativeUrl('/Folder Name')/Files/add(url=’a.txt’,overwrite=true)
method: POST
body: “Contents of file”
Headers:
Authorization: "Bearer " + accessToken
X-RequestDigest: form digest value
content-length:length of post body
以下示例演示如何使用 PUT 方法更新文件。
注释 |
|---|
|
PUT 是可用于更新文件的唯一方法。不允许使用 MERGE 方法。 |
url: http://site url/_api/web/GetFileByServerRelativeUrl('/Folder Name/file name’)/$value
method: POST
body: “Contents of file.”
Headers:
Authorization: "Bearer " + accessToken
X-RequestDigest: form digest value
X-HTTP-Method:”PUT”
content-length:length of post body
如果要更新文件的元数据,则需要构建到达文件的终结点作为列表项。可以执行此操作的原因在于每个文件夹也是一个列表,并且每个文件也是一个列表项。构建如下的终结点:https://<site url>/_api/web/lists/getbytitle('Documents')/items(<item id>)。使用 REST 处理列表和列表项 说明如何更新列表项的元数据。
您可能希望签出文件以确保在您更新之前没有人更改它。在您更新后,您还可能希望签回文件以便他人使用它。以下示例演示如何签出文件。
url: http://site url/_api/web/GetFileByServerRelativeUrl('/Folder Name/file name’)/CheckOut()’
method: POST
headers:
Authorization: "Bearer " + accessToken
X-RequestDigest: form digest value
以下示例演示如何签入文件。
url: http://site url/_api/web/GetFileByServerRelativeUrl('/Folder Name/file name/CheckIn(comment='Comment', checkintype=0)
method: POST
headers:
Authorization: "Bearer " + accessToken
X-RequestDigest: form digest value
以下示例演示如何删除文件。
url: http://site url/_api/web/GetFileByServerRelativeUrl('/Folder Name/file name’)
method: POST
headers:
Authorization: "Bearer " + accessToken
X-RequestDigest: form digest value
IF-MATCH: etag or “*”
X-HTTP-Method:”DELETE”
在您需要上载大于 1.5 MB 的二进制文件时,REST 接口是您的唯一选择。有关演示如何使用 SharePoint 2013 Javascript 对象模型上载小于 1.5 MB 的二进制文件的代码示例,请参阅如何:使用 SharePoint 2013 中的 JavaScript 库代码完成基本操作。使用 REST 可创建的二进制文件的最大大小为 2 GB。下面的示例演示如何创建大二进制文件。
警告 |
|---|
|
此方法将只适用于 Internet Explorer 10 和其他浏览器的最新版本。 |
url: http://site url/_api/web/GetFolderByServerRelativeUrl('/Folder Name')/Files/Add(url='file name', overwrite=true)
method: POST
body: contents of binary file
headers:
Authorization: "Bearer " + accessToken
X-RequestDigest: form digest value
content-type: "application/json;odata=verbose"
content-length:length of post body
以下代码示例演示如何使用此 REST 端点和跨域库创建文件。
function uploadFileBinary() {
XDomainTestHelper.clearLog();
var ro;
if (document.getElementById("TxtViaUrl").value.length > 0) {
ro = new SP.RequestExecutor(document.getElementById("TxtWebUrl").value, document.getElementById("TxtViaUrl").value);
}
else {
ro = new SP.RequestExecutor(document.getElementById("TxtWebUrl").value);
}
var body = "";
for (var i = 0; i < 1000; i++) {
var ch = i % 256;
body = body + String.fromCharCode(ch);
}
var info = {
url: "_api/web/lists/getByTitle('Shared Documents')/RootFolder/Files/Add(url='a.dat', overwrite=true)",
method: "POST",
binaryStringRequestBody: true,
body: body,
success: success,
error: fail,
state: "Update"
};
ro.executeAsync(info);
}
以下示例演示如何检索附加到列表项的所有文件。
url: http://site url/_api/web/lists/getbytitle('list title')/items(item id)/AttachmentFiles/
method: GET
headers:
Authorization: "Bearer " + accessToken
accept: "application/json;odata=verbose" or “application/atom+xml”
以下示例演示如何检索附加到列表项的文件。
url: http://site url/_api/web/lists/getbytitle('list title')/items(item id)/AttachmentFiles('file name')/$value
method: GET
headers:
Authorization: "Bearer " + accessToken
accept: "application/json;odata=verbose" or “application/atom+xml”
以下示例演示如何创建列表项的文件附件。
url: http://site url/_api/web/lists/getbytitle('list title')/items(item id)/AttachmentFiles/ add(FileName='file name')
method: POST
headers:
Authorization: "Bearer " + accessToken
body: “Contents of file.”
X-RequestDigest: form digest value
content-length:length of post body
以下示例演示如何使用 PUT 方法更新列表项的文件附件。
注释 |
|---|
|
PUT 是可用于更新文件的唯一方法。不允许使用 MERGE 方法。 |
url: http://site url/_api/web/lists/getbytitle('list title')/items(item id)/AttachmentFiles('file name')/$value
method: POST
body: “Contents of file.”
headers:
Authorization: "Bearer " + accessToken
“X-HTTP-Method”:”PUT”
X-RequestDigest: form digest value
content-length:length of post body
[MSDN]使用 REST 处理文件夹和文件的更多相关文章
- 重新想象 Windows 8 Store Apps (22) - 文件系统: 访问文件夹和文件, 通过 AQS 搜索本地文件
原文:重新想象 Windows 8 Store Apps (22) - 文件系统: 访问文件夹和文件, 通过 AQS 搜索本地文件 [源码下载] 重新想象 Windows 8 Store Apps ( ...
- 背水一战 Windows 10 (85) - 文件系统: 获取文件夹和文件, 分组文件夹, 排序过滤文件夹和文件, 搜索文件
[源码下载] 背水一战 Windows 10 (85) - 文件系统: 获取文件夹和文件, 分组文件夹, 排序过滤文件夹和文件, 搜索文件 作者:webabcd 介绍背水一战 Windows 10 之 ...
- Windows phone开发之文件夹与文件操作系列(一)文件夹与文件操作
Windows phone7中文件的存储模式是独立的,即独立存储空间(IsolatedStorage).对文件夹与文件操作,需要借助IsolatedStorageFile类. IsolatedStor ...
- 使用FileSystemWatcher监控文件夹及文件
引言 这一周主要精力集中学习一个同事开发的本地文件搜索项目上,其中客户端添加共享文件时主要是使用FileSystemWatcher 监控文件,并在各种事件发生时向服务器发送消息. 解决方法 FileS ...
- Visual Studio(VS2012) Project&(Solution) 虚拟文件夹 & 物理文件夹
今天发生个怪事:在 Solution Explorer 中,x project 内建立文件夹(folder)时,同时在磁盘目录下也创建了同名的文件夹. 1, 原本:应该只是创建一个“虚拟文件夹”用来“ ...
- TortoiseSVN文件夹及文件图标不显示解决方法
由于自己的电脑是win7(64位)的,系统安装TortoiseSVN之后,其他的功能都能正常的使用,但是就是文件夹或文件夹的左下角就是不显示图标,这个问题前一段时间就遇到了(那个时 ...
- python 实现彻底删除文件夹和文件夹下的文件
python 中有很多内置库可以帮忙用来删除文件夹和文件,当面对要删除多个非空文件夹,并且目录层次大于3层以上时,仅使用一种内置方法是无法达到彻底删除文件夹和文件的效果的,比较low的方式是多次调用直 ...
- Projects\Portal_Content\Indexer\CiFiles文件夹下文件占用磁盘空间过大问题。
C:\Program Files\Microsoft Office Servers\12.0\Data\Office Server\Applications\9765757d-15ee-432c-94 ...
- android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位
android 获取文件夹.文件的大小 以B.KB.MB.GB 为单位 public class FileSizeUtil { public static final int SIZETYPE_B ...
随机推荐
- CSS换行:word-wrap、word-break和text-wrap区别
一.word-wrap:允许对长的不可分割的单词进行分割并换行到下一行.(中英文处理效果一样) word-wrap有两个取值: 1.word-wrap: normal:只在允许的断字点换行(浏览器保持 ...
- CI支持各种文件上传-文件类型(Linux + window)
$mimes = array( 'hqx' => 'application/mac-binhex40', 'cpt' => 'application/mac-compactpro', 'c ...
- PetShop学习第四天
ASP.NET缓存 1.页输出缓存分为整页缓存和部分页缓存.我们可以通过@OutputCache指令来完成对Web页面的输出缓存.
- 【spoj SEQN】【hdu 3439】Sequence
题意: 给出n.m.k 求C(n,k)*H(n-k)%m的值 H(n-k)为错排公式 题解: 先算H(n-k) 计算H(n)有个通式: H(n)=(-1)^n+((-1)^(n-1))n+((-1)^ ...
- Java Collections Framework
集合OR 容器 通常我们会用数组去保存一些基本数据类型,数组是编译器支持的类型,但是数组的一个明显缺点就是具有固定尺寸,而在一般情况下,只有在程序运行的时候,我们才能知道要保存的具体数目. Java类 ...
- A Tour of Go Exercise: Images
Remember the picture generator you wrote earlier? Let's write another one, but this time it will ret ...
- python 错误、调试和测试
在程序运行过程中,总会遇到各种各样的错误. 有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的. 有的错误是用户输入造成的,比如让用 ...
- CSS区块、浮动、定位、溢出、滚动条
CSS中区块的使用 CSS中浮动的使用 CSS中定位的使用 CSS中溢出的使用 CSS中滚动条的使用 17.1 CSS中区块的使用 属性名称 属性值 ...
- Fixed theorems
Banach Schauder Bourbaki-Kneser
- Tricks Device (hdu 5294 最短路+最大流)
Tricks Device Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) To ...
注释
警告