我需要將一些通用java客戶端的二進制文件轉移到使用servlet技術的服務器。
問題來了,因爲我需要檢查一些數據發送給我的文件,以授權上傳。此外,我還需要有關該文件的其他信息才能表徵它(名稱,作者...)。如何使用java servlets進行受限文件傳輸
我雖然是:
(A)使用接收通過默認的InputStream的請求GenericServlet類。它會讀取預格式化的數據結構,然後如果數據正常,它將讀取並保存文件
(B)使用HttpServlet並進行通常的http文件上傳(這將需要客戶端支持http環境)並使用一些帖子屬性來獲取附加數據。
現在的問題: 選項A:
是有一種方式來獲得,以第一赤他們,然後讓只有當數據是確定文件傳輸文件之前的初始數據以這種方式來限制數據不正常的情況下的內存使用情況?
如果文件很長併到達服務器,比如我們說N部分,並且在客戶端完成發送所有N部分之前,servlet檢查其他信息發現它們不好,是否有辦法通過在轉移過程中通過回答客戶來打破轉移以打破「不良」和沉重要求?
我可以在同一請求中將多個Java對象(如本例中的自定義FileInfo類)與二進制文件一起傳輸嗎?
選項B:
它是一個很好的初步實踐,始終使用http?
一旦設置了multipart數據類型,文件內容是作爲post變量的內容發送的?
感謝
您可以在開始上傳之前在Javascript中檢查客戶端的文件大小https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5/Constraint_validation其餘的,我會很驚訝如果可能的話。 – developerwjk
客戶通常不認爲是html/js。無論如何,我更喜歡驗證數據服務器端,因爲它更安全,我需要檢查和存儲更多數據 – LJSilver