Я пытаюсь открыть документ Word через HTTP с удаленного сервера. Метод Documents.Open прекрасно это поддерживает, так как я могу передать ему URL-адрес в качестве имени файла и загрузить его с удаленного сервера.
Однако, чтобы получить файл, мне нужно отправить POST учетные данные по URL-адресу, а затем следовать полю местоположения в ответе, чтобы получить файл. Как мне создать подкласс или перегрузить объект Documents, чтобы выполнить этот шаг, прежде чем передать содержимое в Word для открытия?
Забыл упомянуть - здесь используется аутентификация на основе куки, поэтому мне нужно сохранить аутентифицированный куки между различными сеансами HTTP.
Правка № 2: поочередно
Если бы я получил полную подпрограмму на основе MSXML2.XMLHTTP, которая бы выполняла POST-аутентификацию, анализировала заголовки set-cookie и location из ответа и использовала их для получения содержимого документа с сервера, есть ли какой-нибудь способ? Я могу открыть документ в памяти в виде файла, вместо того, чтобы выгружать временные файлы в файловую систему, волей-неволей? Из чтения документов Open () просто поддерживает имя файла (или путь).
Я верю, что есть .NET способ сделать это с помощью IO.System.MemoryMappedFile, но есть ли какой-нибудь способ, которым это может быть открыто для COM, так что я могу просто вывести поток данных в функцию, получить дескриптор файла и передать to .Open () для обработки?