2016-02-04 61 views
0

中的CSRF失敗使用keystone LocalFile類型來處理圖片上傳。類似於Cloudinary autoCleanup選項,我希望能夠刪除上傳的文件本身,除了相應的mongo條目通過admin ui刪除條目時。自定義貓鼬pre-hook(Keystone.js)

在這種情況下,我想刪除一個「專輯」,並且它是相應的專輯封面。

Album.schema.pre('remove', function(next){ var path = this._original.album_cover.path + "/" + this._original.album_cover.filename fs.unlink(path, function() { console.log('deleted'); })

我使用fs模塊時得到 「CSRF失敗」。我認爲所有的CSRF保護都是在Keystone內部處理的。

任何人都知道更好的解決方案?

回答

0

花了10分鐘的休息時間,回來了,現在似乎在工作。我也發現這一點,這似乎是解釋。

「此外,請仔細檢查您的會話超時時間。在我的開發設置中,會話持續時間設置爲3分鐘。因此,如果最終編輯的內容超過此時間,Keystone將在保存時返回CSRF錯誤,因爲新會話(在此期間生成)使舊令牌失效。「

https://github.com/keystonejs/keystone/issues/1330