2013-03-06 72 views
2

我正在研究Intranet增強功能,該功能將允許用戶打開給定目錄內文件的最新實例(最近修改或創建)。CFDIRECTORY被主機提供商阻止。任何替代品?

不幸的是,cfdirectory標記(以及其他一些標記)被託管提供商阻止。我基本上需要模仿這段代碼的功能,而無需使用cfdirectory

<cfdirectory action="list" directory="\\SERVERABC\FILEDIR" name="myDirectory"> 
<cfloop query="mydirectory"> 
<cfoutput> 
    <cfif mydirectory.dateLastModified EQ DateFormat(Now(),'mm/dd/yy')> 
     <!--- ..display link to file for user to download ---> 
    </cfif> 
</cfoutput> 
</cfloop> 

FileExists()功能可用。但默認的ColdFusion用戶將無法訪問應用程序本身中實際用戶可能使用的所有網絡位置。

+2

說實話,如果他們沒有實現沙箱,並且必須禁用CFDirectory,那麼您應該找到另一個託管提供程序。您可能能夠通過使用Java組件「解決」它,但它們可能也會阻止CreateObject(「java」)?很難給你一個替代品,不知道禁用標籤的完整規模。 – BKK 2013-03-06 15:22:00

+0

不幸的是,我不能使用其他託管服務提供商。我爲一家使用內部託管組的大型公司工作,因此我們處於謹慎處理哪些標籤被阻止的情況下。我試圖找到這些標籤的完整列表。 – user1178394 2013-03-06 15:42:07

+0

嘗試:createObject(「java」,「java.io.File」)---結果:訪問被拒絕(java.io.FilePermission \\ SERVERABC \ FILEDIR讀取) – user1178394 2013-03-06 15:46:28

回答

1

您需要讓您的主機爲您提供安全沙箱,以便您可以使用這些標籤。他們無法做到這一點的唯一原因是他們運行的是CF標準版,而不是企業版。如果是這種情況,那麼你運氣不好,因爲所有文件I/O標籤都將不可用。沒有專業的CF主機運行標準版。