2015年2月10日 星期二

ownCloud 刪除無效的檔案連結 Sabre_DAV_Exception_NotFound

owncloud 在用了一陣子後,其實真的是算蠻好用的,除了 iOS 的 owncloud 要收費以外要媲美目前所有的雲端硬碟是沒問題的

 

但在這段使用期間遇到了一個問題,在上傳檔案的時候,因為網路中斷導致檔案上傳不完整,結果小弟天真的直接去 Server 上把檔案刪除了

結果 owncloud 上面的 file list 連結失效,每每在 sync 的時候都會出現 sync 錯誤

 

錯誤訊息

Fatal webdav Sabre_DAV_Exception_NotFound: File with name Testfile could not be located

 

使用網頁來檢測一下 webdav

https://ServerName/remote.php/webdav
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns"> 
<s:exception>Sabre_DAV_Exception_NotFound</s:exception>
<s:message>
File with name Testfile could not be located
</s:message>
<s:sabredav-version>1.7.6</s:sabredav-version>
</d:error>

 

 

這是由於 webdav 在取得 file list 的時候其中 Testfile 找不到檔案,這下糗了卡了一個無效連結,這跟一般 AP 系統直接砍掉 Content 一樣遭

一般 file link 都會藏在 DB 裡面存檔,在 owncloud 翻箱倒櫃後找到一個 oc_filecache 資料表

 

在 filecache 裡面都是放一些 file cache 的名稱,很可疑

然後在 ownCloud 論壇找到一篇也是相同問題的文章 Sabre_DAV_Exception_NotFound

 

討論了兩頁,在最後的結論竟然是砍掉 oc_filecache 裡面的資料讓他重新抓就 OK 了

DELETE FROM oc_filecache;

 

打完收工!

 

 

 

註*

WebDav 是 Windows 俗稱的網路磁碟機,在 owncloud 也可以支援此功能,代表你可以不需要安裝 owncloud client,透過網路磁碟機來連到 owncloud file

Orignal From: ownCloud 刪除無效的檔案連結 Sabre_DAV_Exception_NotFound

沒有留言:

張貼留言