SP.Web.getFileByServerRelativeUrl(fileUrl)无法正常工作

时间:2014-01-27 14:41:46

标签: javascript sharepoint-2013 sharepoint-apps

我正在使用sp.js库的SP.Web.getFileByServerRelativeUrl(fileurl)函数。我的网站层次结构就像这样

Host Web
  App1 Web
     DocumentLibrary1
  App2 Web

其中App1 Web是由我的sharepoint 2013 app 1创建的网站,而App2 Web是由我的sharepoint 2013 app 2创建的网站。在app2中,我尝试从App1 Web-> DocumentLibrary1获取文件。这是我的代码

var ctx = SP.ClientContext.get_current();
var appctx = new SP.AppContextSite(ctx, 'hostweburl/app1');
var file = appctx.get_web().getFileByServerRelativeUrl("/DocumentLibrary1/myfile.xml");
ctx.load(file);
ctx.executeQueryAsync(function () {
    var title = file.get_title();
}, this.onError);

但是我收到错误“值不在预期范围内”。似乎“/DocumentLibrary1/myfile.xml”不是文件的服务器相对URL。我也试过“/app1/DocumentLibrary1/myfile.xml”,这也不行。谁可以提供帮助

1 个答案:

答案 0 :(得分:1)

将/sites//DocumentLibrary1/myfile.xml放入getFileByServerRelativeUrl参数

相对于服务器网址的相对网址。

例如:“http:/// sites / sitename / list / folder”

在服务器相对网址中提供“sites / sitename / list / folder”。