2012-04-29 1 views
1

В Adobe ColdFusion (ACF) я всегда использовал cffile action = "rename" для перемещения файлов и каталогов. Не необоснованно, Railo не считает, что cpile применяется к каталогам, поэтому вам нужно использовать переименование cfdirectory, и это отлично работает. Однако это не работает в ACF.Переместить каталог в ColdFusion и Railo

Например:

<cfdirectory action="RENAME" directory="C:/tmp/aaa1/aaa2/" newDirectory="C:/tmp/aaa2"> 

... работает в Railo, но в ACF бросает это:

The specified directory attribute C:/tmp/aaa1/aaa2/ cannot be renamed to newdirectory C:\tmp\aaa1\C:\tmp\aaa2. 

Так кажется, что вы должны были бы использовать cffile перемещение каталогов на ACF, и cfdirectory на Railo. Действительно ли это состояние дел? Есть ли способ получить cfdirectory для перемещения каталога в ACF?

ответ

3

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

Я бы назвал это как ошибку в CF (я тестирую с CF9.0.1), как и для всех других операций с файлами, о которых я знаю, либо слэш отлично работает на CF.

+0

Он тоже сломался в CF10. –

+0

Интересно. Это также верно для nix? В идеале я ищу конструкции, которые работают одинаково в ACF, Railo (и хотя я не упоминал об этом и еще не пробовал, Open BlueDragon), в Windows, Linux и Mac. – enigment

+1

Java (и по расширению CF) в Windows будет принимать оба типа косой черты как разделитель файлов. Это единственный раз, когда я видел, что он не работает. В \ * nix нужно использовать косую черту fwd. Однако разветвление этого состоит в том, что можно (хорошо: * должно *) быть в состоянии использовать косая черта с неопределенностью на обеих платформах. Поэтому при написании кросс-платформенного кода: используйте косой чертой fwd. –

1

Мы разработали приложение в CF10, которое использовало косые черты для пути к файлу в cfdirectory action = "rename".

<cfdirectory action="rename" directory="//fileserver/folder10/test/TEST74036JJ_CW" newdirectory="//fileserver/folder10/TEST74036JJ_CW"> 

Этот код оказался полезным в CF10.

Когда мы переместили код на сервер CF8, мы получили ту же ошибку, что и путь newdirectory, добавленный в конец исходного каталога.

Указанный атрибут директории // файловый_сервер/folder10/тест/TEST74036JJ_CW не может быть переименован в newdirectory \\ файловый_сервера \ folder10 \ Test \ файлового \ folder10 \ TEST74036JJ_CW

Таким образом, это действительно кажется, что CF10 теперь могут обрабатывать косые черты для cfdirectory action = "rename".

0

Я получаю решение только с изменением. В атрибуте newDirectory не записывать путь, записывать только новое имя папки и готово. Попробуй. Это был вариант для меня. Я использую coldfucion 9.0.1

Смежные вопросы