Показать PDF - Страница приложения SharePoint - PullRequest
2 голосов
/ 26 мая 2010

Я работаю над пользовательской веб-частью, для которой мне нужна страница приложения для рендеринга файла PDF.

Я сейчас использую следующую ссылку http://support.microsoft.com/kb/306654

Он отлично работает в ASP.NET, но дает пустую страницу в SharePoint.

Вот код: (Файл PDF находится в том же каталоге)

        Response.ClearContent();
        Response.ClearHeaders();
        //Set the appropriate ContentType.
        Response.ContentType = "Application/pdf";
        //Get the physical path to the file.
        string FilePath = MapPath("Test.pdf");
        //Write the file directly to the HTTP content output stream.
        Response.WriteFile(FilePath);
        Response.Flush();
        Response.End();

Работаю над этим последние несколько часов, сводя меня с ума ... есть идеи?

1 Ответ

1 голос
/ 27 мая 2010

Несколько идей:

  1. Если файл находится в каталогах SharePoint, почему бы просто не перенаправить его на URL-адрес?

  2. Если вы используете Fiddler (или Firebug) для просмотра HTTP-трафика - видите ли вы изменение типа контента? Что такое содержание (это PDF?)

  3. Основные различия между SharePoint и ASP.NET (при условии, что вы получаете файл правильно) состоят в том, что жизненный цикл страницы немного отличается и модель безопасности. Возможно, вы захотите посмотреть, как работает Reponse.End(), чтобы убедиться, что он не отличается в SharePoint. Вы можете запустить SharePoint в подробном ведении журнала, а затем использовать .NET Reflector в библиотеках SharePoint (с журналами в качестве руководства), чтобы увидеть, есть ли какой-то странный способ справиться с этим. DLL-файлы SharePoint имеют довольно либеральные журналы вызовов. Больше информации здесь: http://www.andrewconnell.com/blog/archive/2008/06/11/SharePoint-Debugging-and-Logging-Tips-and-Tricks.aspx

  4. Рассматривали ли вы растеризацию PDF и просто отображение его на странице? Это то, что мы делаем в проекте, над которым работает моя компания, для просмотра PDF и других документов в SharePoint ( Vizit ). Вам все еще нужно решить проблему чтения файла, но вместо того, чтобы отвечать PDF, вы отвечаете PNG и запрашиваете внутри тега <img>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...