2011-05-19 79 views
1

每當我試圖通過資產的相對或絕對路徑從'public'之外的目錄提供內容(通過send_file或作爲iframe的src)時,我收到一個錯誤消息,說明無法找到資產或'c' (如在C :)不是一個有效的協議。有誰知道我爲什麼要面對這些問題,以及如何在不使用符號鏈接的情況下解決這些問題?如何從外部公共目錄中提供文件?

謝謝。

+0

您可以簡單地使用您的Web服務器而不是應用程序服務器共享文件。只需將您的文件放在適當的目錄中並調整HTTP服務器即可。但是您的應用程序也應該知道這些資產的位置以便重定向用戶。 – taro 2011-05-19 14:35:14

+0

@taro,將文件保留在公共目錄之外的原因是因爲它們是隻能授予(某些)經過身份驗證的用戶的敏感文件。 – 2011-05-20 15:23:26

回答

1

這只是一個猜測,因爲除了瀏覽器測試以外,我不使用Windows。

而不是創建文件路徑的字符串(例如send_file "C:\sites\this_one\secure_files\here.pdf")使用File類構建路徑(例如send_file File.join(Rails.root, 'secure_files', 'here.pdf'))。

相關問題