2010-05-04 61 views
1

,如何顯示對話框。如果用戶無法下載處理php/html/javascript的文件

我想弄清楚允許用戶下載文件的好/最好的方法。我可以有傳統的href鏈接,與後端php應用程序接口來下載文件。但是,如果用戶無法(basedon acl/permissions)下載文件,我想讓應用程序顯示某種對話框/警報...這是否必須保留一個ajax的東西,因爲我不想做頁面刷新...

想法/評論/指向代碼示例的指針表示讚賞。

謝謝。

-tom

嗨...更多數據/信息。

在我的測試中,我通過查詢發送userID/fileID到後端php。

然後,應用程序確認用戶是該文件的用戶,並且該用戶有權訪問該文件。查詢數據與用戶/文件組合中數據庫的數據相匹配。

所以最後/關鍵檢查發生在後端。

希望這可以讓我更深入地瞭解我正在做什麼/完成什麼。

感謝

-Tom

+0

它是否必須是AJAX的東西?您的系統在用戶請求期間的哪個點確定文件不可用/無效? – 2010-05-04 02:36:46

+0

您使用的是哪種身份驗證?你如何確定下載頁面的授權?如果您知道根據特定用戶是否可以下載文件,您是否可以禁用頁面上的鏈接,如果用戶無權訪問,用戶將點擊該鏈接以下載該文件? – 2010-05-04 02:40:33

回答

1

AJAX 可能是一個很好的技術,如果您正在尋找一個變通的頁面不清爽的使用,但它並不一定是唯一的選擇。

另一個不需要AJAX的選項,根據您的項目設計的不同,可能會很麻煩,根據用戶的身份驗證級別啓用或禁用功能。

作爲一個簡單示例,啓用僅與管理員相關的功能並禁用普通用戶的管理員功能。

您不一定必須啓用/禁用功能,您還可以在用戶點擊鏈接之前做出決定,無論他/她是否有權執行此操作。

有關您的項目佈局的更多信息,我們可以提供更簡潔的答案。

0

最簡單的方法是返回401(「未授權」)的HTTP響應代碼。這會導致您的Web服務器顯示401錯誤頁面,您可以修改該錯誤頁面以適應您的設計。

或者,如果您使用的是AJAX,那麼您可以檢查401響應代碼,並彈出一個很好的警報,而不會將它們帶到不同的頁面。