Разрешения IIS для сохранения документов Word - PullRequest
2 голосов
/ 04 февраля 2009

Наш ASP.NET/C# позволяет пользователям редактировать и управлять документами Word (OpenXML), размещенными на сервере. Я использую клиентские VBScript функции для обработки некоторых функций редактирования, включая сохранение документа в папке на сервере. Для функции сохранения я использую следующий вызов функции:

Document.SaveAs "http://server/savefolder/savefile.docx" 

Я дал разрешения «Полный доступ» для папки сохранения пользователям NETWORK SERVICE и IUSR_MACHINE. Все же вышеупомянутый вызов терпит неудачу. Возвращенный номер ошибки 5096. Сообщение об ошибке - это какой-то бред, который не имеет никакого смысла.

Сервер - Windows 2003, а версия IIS - 6.0. Я установил OpenXML SDK 2.0 CTP на сервере.

Я могу успешно читать и распечатывать документы.

Кто-нибудь говорит мне, что я делаю не так? или какие дополнительные настройки должны быть на месте?


Кстати, сообщение об ошибке («бред» из моего поста):

"EOALPHABETICARABICARABICABJADARABICALPHABAHTTEXTCAPSCARDTEXTCHARFORMATCHI"

Нет, я не придумываю это!

Ответы [ 8 ]

2 голосов
/ 18 сентября 2009

В моем случае это ошибка 5096 с описанием "EOALPHABETICARABICARABICABJADARABICALPHABAHTTEXTCAPSCARDTEXTCHARFORMATCHI" произошел при использовании кода VBA в Access для запуска Word-слияния. Причиной была попытка сохранить документ с тем же именем (включая путь), что и открытый документ.

Строка ошибки:

objApp.ActiveDocument.SaveAs saveAsName 

, где objApp - переменная объекта, представляющая приложение Word, а saveAsName - строковая переменная, в которой хранится имя, которое я пытаюсь сохранить как файл, например. "C:\temp\testdoc.docx".

ЕСЛИ файл с таким именем существует, но не открыт, приведенный выше код перезаписывает его без вывода сообщений.

1 голос
/ 07 февраля 2009

Оказывается, WebDAV не включен по умолчанию в IIS 6.0. Как только я включил его, я смог сохранить документы очень хорошо.

Спасибо за все ваши ответы!

0 голосов
/ 24 ноября 2011

этот вопрос старый, но все еще активный? Вы сохраняете файл с http: // ... url, я думаю, вы должны сохранить его с URL-адресом файла как

Document.SaveAs "\\server\savefolder\savefile.docx"  

Grtz

0 голосов
/ 07 апреля 2011

Просто чтобы добавить информацию СИ ...

Я также получаю это, я получаю ошибку 5096 - EOALPHABETICARABICARABICABJADARABICALPHABAHTTEXTCAPSCARDTEXTACHCFORATCHI , когда мой код пытается сохранить документ MS Word с тем же именем и тем же именем * 1008 местоположение как документ Word, который уже открыт в другом экземпляре Word.

Хотя это не совсем относится к этой теме, я надеюсь, что это может помочь кому-то, кто наткнется на эту тему!

С уважением, Дуэйн,

0 голосов
/ 06 февраля 2009

Предоставили ли вы право записи в папку в диспетчере IIS?

0 голосов
/ 06 февраля 2009

Я бы попробовал запустить Fiddler на клиенте, пытаясь сохранить документ, чтобы понять, что на самом деле происходит. Интересно, может быть, он пытается сделать HTTP PUT (в отличие от POST).

0 голосов
/ 05 февраля 2009

Является ли папка сохранения, которую вы используете, за пределами корневого каталога веб-сайтов, то есть «скрыта» от Интернета?

0 голосов
/ 04 февраля 2009

Просто предположение ... если vbscript работает на клиенте, код, вероятно, выполняется под учетной записью пользователя, а не под учетной записью IIS сервера. Так что, если вы не дадите права на запись этому пользователю, vbscript, вероятно, не будет работать для этого.

Поскольку вы используете ASP.NET, вы можете попробовать написать веб-сервис, который принимает данные документа Word и сохраняет их на сервере.

...