2012-11-27 60 views
1

我們開發了一個asp.net web應用程序,它使用ashx處理程序來執行部分文件上傳。用戶可以通過silverlight控件選擇文件,並且控件向ashx處理程序啓動Post HttpWebRequest,並以較小的塊(通過HttpWebRequest.BeginGetRequestStream)傳輸文件,以便Silverlight控件可以顯示進度欄。通過WebDav以塊的形式上傳文件

現在我們要擴展此解決方案以支持上傳到WebDAV文件夾。 所以主要問題是:可以通過WebDAV完成這種「塊式」上傳嗎?

回答

1

WebDAV協議是HTTP協議的擴展,因此所有HTTP功能都可以使用它。最好的方法是在上傳之前計算一個文件大小 - 這將允許容易地繪製進度條。

另一種選擇是使用Content-Range標頭,該標頭允許以塊的形式發送數據,但這會導致每個塊發出一個HTTP GET請求。

JFYI:我們的WebDAVBlackbox允許使用Silverlight中的所有WebDAV功能相對容易。

0

我想如果你保持連接打開,做PUT請求,你可以繼續發送它的數據..你必須確保你沒有超時。有一件可能會有問題的事情是,許多DAV服務器需要知道PUT啓動時的完整內容長度。

否則,沒有標準繼續附加到一個文件,分割出多個HTTP請求;但也許你的服務器有一個非標準的擴展.. SabreDAV呢。

+0

我使用IIS 7作爲webdav文件夾主機 – hoetz