2016-03-07 49 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 /知識/ 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('../ path/to/file'),我嘗試了expandPath('file')並使用整個路徑並且它工作正常。非常感謝您的幫助。 – Charlie123

0

在Adob ColdFusion的論壇上看起來BKBK回答我有以下問題:

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

但由於fileread仍然指向「https」而不是相對路徑,所以cfhttp比cffile fileread有沒有任何安全優勢? – Charlie123

+2

掛上...您正在閱讀的這個文件位於您服務器的文件系統上,是嗎?你不應該使用HTTP請求來讀取它,如果你給它一個URL而不是一個路徑,你仍然在做。你能澄清嗎? –

+0

是的,當BKBK向我建議這是我的困惑,因爲如果我仍然使用HTTP,那麼爲什麼我要使用cfile fileread。該文件在我們的共享驅動器上。在這種情況下,它位於網站的/ search /文件夾下。 – Charlie123

相關問題