Тег CFdirectory не отображает файлы в каталоге, даже если файлы появляются в исходной папке - PullRequest
2 голосов
/ 22 мая 2019

Я пытаюсь прочитать электронную таблицу из папки общего доступа. используя

<cfparam name="xlfilepath" type="string" default="\\file02\OP\!FILE STRUCTURES and FORMS\Agreements\Tracker.xls" />
<cfspreadsheet action="read" src="#xlfilepath#" excludeHeaderRow="true" query="MsaDataSheet1" sheet="1" />

«OP» - это общая папка.

Я получил сообщение «java.io.FileNotFoundException:». Затем я пытаюсь отобразить список каталогов, используя тег cfdirectory.

<cfdirectory action="list" directory="\\file02\OP\" recurse="false" name="myList">
<cfdump var="#myList#"><cfabort>

Я вижу, что список не отображается, хотя в каталоге OP есть подкаталоги, папки и файлы.

Требуются ли для папки какие-либо особые разрешения для чтения каким-либо приложением или требуется какое-либо другое сопоставление?

1 Ответ

4 голосов
/ 22 мая 2019

Здесь я объясню, используя cf16. ColdFusion работает в Windows как служба, и если мы посмотрим на все службы машины, мы обнаружим следующее:

enter image description here

Здесь вы можете заметить, что для службы ColdFusion значение LogOnAs равно «LocalSyatem». Это означает, что служба ColdFusion запускается как логин LocalSystem, и у этого логина недостаточно прав для выполнения каких-либо операций в сети. Итак, чтобы выполнить требуемую файловую операцию в общем каталоге, нам нужно изменить значение LogOnAs для службы ColdFusion. Пожалуйста, следуйте приведенным ниже шагам, чтобы включить его,

  1. Щелкните правой кнопкой мыши службу ColdFusion, затем выберите « properties ».
  2. Нажмите на вкладку « Вход в систему ». Тогда вы увидите такой экран
  3. Выберите переключатель «Эта учетная запись». Затем нажмите кнопку « Обзор ». и выберите пользователя, которым вы хотите запустить службу. Вы следует выбрать пользователя , который имеет достаточные права для создания файла в общем каталоге, а также имеют необходимые разрешения в локальной сети .

enter image description here

Но мы должны перезапустить службу ColdFusion, чтобы изменения вступили в силу.

Дайте мне знать, сработает ли это для вас или нет. Или поправьте меня, если я неправильно понял.

...