【问题标题】:Display HTML page stored in SharePoint documents folder显示存储在 SharePoint 文档文件夹中的 HTML 页面
【发布时间】:2017-04-18 12:20:39
【问题描述】:

我正在开发一个 SharePoint Web 部件,它在页面上的不同 div 中显示许多不同的报告。在其中一个 div 中,我需要显示我们存储在 SharePoint 的“文档”容器中的页面中的 HTML。 HTML 页面中的信息是从应用程序的几个不同部分检索的,并且显示方式不同,因此基本上我们将其用作源数据。我试图弄清楚如何从应用程序内访问页面,并希望将文件的链接存储为可配置设置,以便我可以为我们的开发/测试/生产环境进行设置。

我已将 HTML 文件加载到“文档”文件夹中,如果我手动浏览它,它会显示正常,但如果我使用以下内容:

SPSecurity.RunWithElevatedPrivileges(delegate
{
    using (System.Net.WebClient client = new System.Net.WebClient())
    {
    string htmlCode = client.DownloadString(url);
    }
}

我收到 403 错误,并在响应标题中显示消息,“在从该位置打开文件之前,您必须先浏览到该网站并选择自动登录选项”。

我认为 RunWithElevatedPriveleges 会传递凭据,但我对 SharePoint 还是很陌生。不确定我是否使用了正确的方法,感谢任何帮助。

【问题讨论】:

    标签: html sharepoint sharepoint-2010


    【解决方案1】:

    将页面放入标准文档库,然后使用页面查看器 Web 部件。站点资产库用于其他自定义目的。您甚至不需要 SharePoint Designer。页面查看器应设置为“网页”,因为网页查看器本质上是 IFRAME。

    如果仍然有问题...可能是 Web 应用程序级别的设置导致非 Microsoft 文件出现问题

    转到 Central Admin > 管理 Web 应用程序。然后我选择了我的 Web 应用程序并单击“常规设置”按钮。然后我将浏览器文件处理从“严格”更改为“允许”,这解决了我的问题。我已包含该设置的附件,以便您阅读与之相关的文本。

    【讨论】:

    • 您好 Taj,感谢您的回复。我忘记了那个皱纹,我已经在一个 web 部件中了。用户想要很多自定义报告,所以我只是在页面上放了一堆 div,然后在其中显示相应的报告块,然后将所有这些放在 Web 部件中
    【解决方案2】:

    想通了。存在许多权限问题,但一旦对这些问题进行排序,此代码就可以工作:

    using (SPSite site = new SPSite(SPContext.Current.Site.ID))
    {
        using (SPWeb web = site.OpenWeb())
        {
          SPFolder folder = web.GetFolder("MainFolder/Lists/MainFolderDocs");
    
          if (folder.Exists)
          {
             SPFile file = web.GetFile("/MainFolder/Lists/MainFolderDocs/Mainlist.html");
             if (file.Exists)
             {
                 using (System.IO.StreamReader reader = new System.IO.StreamReader(file.OpenBinaryStream()))
                     {
                        string htmlCode = reader.ReadToEnd();
                        lChecklist.Text = htmlCode;
                     }
             }
           }
       }
    

    }

    【讨论】:

      猜你喜欢
      • 2020-07-20
      • 2021-08-21
      • 1970-01-01
      • 1970-01-01
      • 2016-06-25
      • 2016-11-13
      • 1970-01-01
      • 1970-01-01
      • 2020-02-19
      相关资源
      最近更新 更多