2017-01-25 71 views
-1

我一直在研究項目,用戶應該能夠點擊鏈接並打開excel文件。我的文件正在坐在服務器文件夾中,我使用JavaScript onClick函數打開excel文件。這種打開文件的方式非常不安全,因爲用戶可以看到該文件夾​​的直接鏈接(如果他們打開devTools)。我想使用ColdFusion函數來抓取文件夾中的文件並將它們提供給用戶。我想知道在ColdFusion中做什麼最好的方法是什麼?是否有直接在文件夾中查看併爲文件服務器的功能?這裏是我目前的代碼:如何從文件夾中抓取文件並向用戶顯示? ColdFusion/JavaScript

<cfdirectory directory="#exportsDir#" action="list" filter="*.xls" recurse="no" name="fileList"> 

<cfoutput query="fileList"> 
    <cfset href = "../Reports/#fileList.name#"> 

    <div onClick="location.href = '#href#';">#fileList.name#</div> 
</cfoutput> 

如果有人有關於如何解決這個問題的建議,請讓我知道。謝謝!

+1

你在找什麼類似的內容處置:http://stackoverflow.com/questions/6835774/how-can-i-force-a-download-of-a-pdf-in-a-網址 –

+0

您可能還想去服務器端,並確保禁用目錄瀏覽。在IIS中這非常簡單。 – TRose

回答

1

爲避免輸出到文件的路徑有幾種方法可以這樣做。

URL重寫

一個是使用URL重寫器。例如,在Apache中,您可以通過mod_rewrite module啓用它。這看起來那麼像

RewriteEngine On 
RewriteBase "/files/" 
RewriteRule "^(.+)$" "../Reports/$1" [L] 

的ColdFusion腳本

另一種方式是讓一個ColdFusion腳本提供服務的文件,所以它的路徑是隱藏在背後的腳本。請參閱How can I force a download of a pdf in a url?

相關問題