我正在Bluemix上使用rails 4應用程序,並使用paperclip gem附加文件。衆所周知,Paperclip會在實際數據庫中保存對該文件的引用,將物理文件保存到/public
的位置。如何在重新啓動應用程序之間保留Bluemix文件
我提交文件到該數據庫這是越來越這裏保存
/home/vcap/app/public/files/submissions/files/140/original/Successful_Submission.pdf
,然後將文件檢索工作完全正常。一旦我重新啓動我的應用程序,我得到:
Errno::ENOENT (No such file or directory @ rb_file_s_lstat - /home/vcap/app/public/files/submissions/files/140/original/Successful_Submission.pdf):
而這是因爲Bluemix不持久這種信息。如何在應用程序重新啓動之間獲得這些文件?
感謝您的評論@alex。不幸的是,這就是我的創業板的工作方式,我可以將這些文件保存在實際的數據庫中,而不是將其保存到文件系統中。通過將文件同時發送到box文件夾,我將擁有一些備份,但是沒有機會在Bluemix中緩存文件系統中的信息嗎? –
Bluemix文件系統中沒有緩存選項。在重新啓動應用程序時,在文件系統中運行時創建的所有內容都將丟失。 –
@VladBalanescu - 我在某些項目中使用的一種黑客技術是在Bluemix CF應用程序中使用SSHFS(fusemount)支持來映射到使用持久卷的啓用了ssh的IBM Container(Docker)實例。根據文件的大小,它有時可以正常工作。您可以瞭解[這裏]的方法(https://github.com/joshisa/drupalstart/blob/master/bluezone/configtweaks/.profile.d/fusemount.sh)和[here](https:// github.com/joshisa/drupalstart/blob/master/README.md#sshfs-persisted-storage-optional) –