2013-01-03 53 views
0

我使用的是Tomcat的WebDAV servlet,並且當我發出PUT請求時,似乎無法獲得標頭「Content-Length」。Tomcat WebDAV丟失內容長度標題

如何獲取我「放」文件的內容長度?

+1

你需要澄清。當你做一個PUT的時候,你需要發送請求中的Content-Length頭字段。 –

回答

1

假設你的意思是你正在編寫的代碼是服務器端PUT操作的一部分 - 也就是說你正在擴展webdav servlet或其他東西。然後,如果客戶端通過PUT發送了一個文件,並且沒有內容長度的頭文件,那麼您需要緩衝這些字節(可能是磁盤),然後使用生成的緩衝數據給出長度。

它對於客戶發送沒有內容長度的文件是完全合法的。在這種情況下,他們只需刪除TCP連接以指示EOF。

請注意,如果您要擴展tomcat webdav servlet,則可能還需要考慮使用milton.io。它是一個旨在允許可插入後端的webdav servlet。它還附帶一個與tomcat的webdav servlet等效的文件系統實現。