2016-03-07 3 views
1

Это путь к моему json-файлу: https://devbox.mysite.com/search/KOGroups.json Но вместо использования cfhttp мне нравится использовать cfifle с действием read. Я не знаю, как превратить этот путь в относительный путь для cffile. Я читал об этой статье ColdFusion Read File, и похоже, что они используют абсолютный путь в своем примере. Я пробовал статью Ben Nadel «Relative File Paths Work In A ColdFusion File System», но код, который он предоставляет для получения родительского каталога, не работает для меня. Все, что мне нужно, это включить этот путь, https://devbox.mysite.com/search/, в тег cffile, чтобы я мог прочитать файл .json.Как указать родственника в CFFile?

ответ

2

Используйте функцию expandPath() для этого.

expandPath('../path/to/file') возвращает полный путь к этому файлу.

+0

Я использовал expandPath, чтобы найти путь, и тогда я использовал это в fileread ('../ path/to/file'), он дал мне следующую ошибку: Ошибка в настраиваемом модуле скрипта (/ devboxbox15/customcf/Knowledge/KO-articleDetail.cfm) Ошибка при выполнении файловой операции, прочитанной в файле /commonspot$/DEVELOPMENT/devbox.mysite.com/kb/KOGroups.json. Причиной этого исключения было: java.io.FileNotFoundException: \ commonspot $ \ DEVELOPMENT \ devbox.mysite.com \ kb \ KOGroups.json (система не может найти указанный путь). – Charlie123

+0

Вот код, который я использовал: Charlie123

+0

Хорошо, я получил его сейчас. Вместо того, чтобы поместить expandPath ('../ путь/в/файл'), я попробовал expandPath ('файл') и использовал весь этот путь, и он работает. Большое спасибо за помощь, хотя. – Charlie123

0

Похоже BKBK над в ADOB ColdFusion форуме ответил на мой вопрос со следующим:

<cfset koGroupsJSON = fileRead("https://devbox.mysite.com/search/KOGroups.json")> 
+0

Но поскольку fileread по-прежнему указывает на «https» для своего пути вместо относительного пути, есть ли какое-либо преимущество в безопасности cfhttp над cffile fileread? – Charlie123

+2

Hang on ... этот файл, который вы читаете, находится в файловой системе вашего сервера, да? Вы не должны использовать HTTP req для его чтения, который вы все еще делаете, если вы укажете ему URL, а не путь. Вы можете уточнить? –

+0

Да, это мое замешательство, когда BKBK предложил его мне, потому что, если я все еще использую HTTP, то почему я использую cfile fileread. Файл находится на нашем общем диске. В этом случае он находится в папке/search/на сайте. – Charlie123