का उपयोग कर फ़ाइल अपलोड प्रगति पट्टी अपलोड करें मेरे पास एक जावा डेस्कटॉप क्लाइंट एप्लिकेशन है जो एक आरईएसटी सेवा में फ़ाइलों को अपलोड करता है।RestTemplate.postForLocation
आरईएसटी सेवा के सभी कॉल स्प्रिंग रेस्ट टेम्पलेट क्लास का उपयोग करके संभाले जाते हैं।
मैं एक प्रगति पट्टी को लागू करने और कार्यक्षमता को रद्द करने के लिए देख रहा हूं क्योंकि अपलोड होने वाली फाइलें काफी बड़ी हो सकती हैं।
मैं इसे वेब पर लागू करने का एक तरीका ढूंढ रहा हूं लेकिन कोई भाग्य नहीं है।
मैंने अपने स्वयं के संसाधन HttpMessageConverter को कार्यान्वित करने और लिखने के लिए आंतरिक() विधि को प्रतिस्थापित करने का प्रयास किया लेकिन वास्तव में अनुरोध पोस्ट करने से पहले इस विधि को कुछ प्रकार के buffered ऑपरेशन के दौरान बुलाया जाता है (इसलिए धारा को भेजने से पहले एक ही बार में पढ़ा जाता है)।
मैंने CommonsClientHttpRequestFactory.createRequest() विधि को ओवरराइड करने का प्रयास किया है और एक विशेष writeRequest() विधि के साथ अपनी खुद की RequestEntity क्लास को कार्यान्वित करने का प्रयास किया है, लेकिन एक ही समस्या होती है (स्ट्रीम वास्तव में पोस्ट भेजने से पहले पढ़ी जाती है)।
क्या मैं गलत जगह देख रहा हूं? क्या किसी ने कुछ ऐसा किया है।
प्रगति सलाखों को लागू करने के बारे में वेब पर बहुत सारी चीज़ें अपलोड की गई हैं और फिर वेब सर्वर को प्रगति के लिए मतदान करने के लिए अलग AJAX अनुरोधों का उपयोग करने के बारे में वार्तालाप करता है जो इसके बारे में जाने का एक अजीब तरीका लगता है।
किसी भी मदद या सुझावों की बहुत सराहना की।
इस हो सकता है आप http://stackoverflow.com/questions के लिए क्या देख रहे/52 9 4532/httpclient-upload-big-file-and-show-sent-bytes-number – ams
लिंक के लिए धन्यवाद। दुर्भाग्य से दिया गया उदाहरण निम्न स्तर के अपाचे पुस्तकालयों का उपयोग करता है, इसलिए मैं स्पष्ट नहीं हूं कि समतुल्य फ़ाइलबॉडी कक्षा स्प्रिंग रेस्ट पुस्तकालयों में क्या होगी, या मैं उनके उपयोग के लिए अपने स्वयं के कार्यान्वयन को कैसे इंजेक्ट कर सकता हूं। – glidester