2012-11-02 69 views
1

Rails中的send_file方法是否返回值?如果發送成功,我希望做一件事,如果發送是而不是成功,則另一件事。我查看了this link的文檔,但沒有發現任何相關的內容。send_file返回值

+0

「發送不成功」是什麼意思?大概你並不是說'send_file'中有一個錯誤,因爲你可以使用標準的異常處理來響應這個錯誤。 – MrTheWalrus

回答

1

不,沒有辦法確認下載完成或成功與send_file。從這個問題:Can we find out when a Paperclip download is complete?

send_file創建該文件,然後通過一個特殊的頭,告訴 Web服務器,告訴它送什麼。 Rails實際上並沒有發送 文件,它設置了這個頭文件,它告訴網絡服務器發送 文件,但隨後立即返回,然後繼續爲另一個 請求提供服務。爲了能夠跟蹤下載是否完成,您必須使用 佔用您的Rails應用程序進程發送文件並阻止,直到用戶下載它 ,而不是將其保留到網絡服務器(其 是其設計要執行的操作)。這是非常低效的。

您或許可以在客戶端上使用Cookie和JavaScript做些事情。 看到這個問題:Rails File Download And View Update - Howto?