2012-05-23 7 views
7

मुझे जावा का उपयोग कर अपने एप्लिकेशन से रिमोट सर्वर (बस http no ftp) पर छवियों और txt फ़ाइलों को अपलोड करने की आवश्यकता है। मेरा आवेदन जेएसएफ ढांचे में है। मैंने खोज की लेकिन कोई उपयुक्त चीजें नहीं मिलीं। क्या कोई मुझे मार्गदर्शन कर सकता है? वास्तव में मुझे दूरस्थ फ़ोल्डर में विशेष फ़ोल्डर में फ़ाइलों को अपलोड करना चाहिए। मेरे पास फ़ाइलों को अपलोड करने के लिए साझा पथ के साथ दो एप्लिकेशन हैं, इसलिए इन फ़ाइलों तक पहुंचने के लिए, मैं साझा फ़ाइलों (जैसे छवियों और ग्रंथों) को तीसरे सर्वर पर अपलोड करने का निर्णय लेता हूं। पहले एप्लिकेशन को इस दूरस्थ सर्वर पर फ़ाइलों को अपलोड करना चाहिए और दूसरा एप्लिकेशन उन्हें इससे पढ़ना चाहिए। तो इस समाधान का मेरा कठिन हिस्सा http का उपयोग करके इस तीसरे सर्वर (वास्तव में दूरस्थ सर्वर) में फ़ाइलों को अपलोड करना है।जावा का उपयोग कर http दूरस्थ सर्वर पर फ़ाइल कैसे अपलोड करें?

+0

प्रत्येक व्यक्ति जो कॉमन्स का सुझाव लेने के लिए भेजने के लिए फ़ाइल ** गलत है FileUpload **। यह दूसरी तरफ * मल्टीपार्ट/फॉर्म-डेटा अनुरोध * पर्स * का इरादा है, * आपके पक्ष में * मल्टीपार्ट/फॉर्म-डेटा अनुरोध * बनाने और भेजने के लिए नहीं। – BalusC

+1

मई सवाल को और स्पष्ट किया जाना चाहिए। इस अस्पष्ट प्रश्न के साथ सटीक उत्तरों की उम्मीद न करें! –

+0

मेरे पास फ़ाइलों को अपलोड करने के लिए साझा पथ के साथ दो एप्लिकेशन हैं, इसलिए इन फ़ाइलों तक पहुंचने के लिए, मैं साझा फ़ाइलों (जैसे छवियों और ग्रंथों) को तीसरे सर्वर पर अपलोड करने का निर्णय लेता हूं। पहले एप्लिकेशन को इस दूरस्थ सर्वर पर फ़ाइलों को अपलोड करना चाहिए और दूसरा एप्लिकेशन उन्हें इससे पढ़ना चाहिए। इसलिए इस समाधान का मेरा कठिन हिस्सा http का उपयोग करके इस तीसरे सर्वर (वास्तव में दूरस्थ सर्वर) में फ़ाइलों को अपलोड करना है। – zorro6064

उत्तर

1

आप httpclient का उपयोग कर सकते हैं।

एक विधि के रूप में POST का उपयोग कर फ़ाइलों को भेजें।

3

apache commons-fileupload पर एक नज़र डालें। आप नमूना कोड here पा सकते हैं। कोड निम्नलिखित

2

उपयोग:

 byte[] data = bos.toByteArray();//convert ur file into byte[] 
     HttpClient httpClient = new DefaultHttpClient();//Client 
     HttpPost postRequest = new HttpPost(YOUR_SERVER_URL);//Post Request to specified URL 
     ByteArrayBody bab = new ByteArrayBody(data, "a.txt"); 
     MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);// Multipart data 
     reqEntity.addPart("uploadingFile", bab); //adding data to request entity 
     postRequest.setEntity(reqEntity);//adding request entity to post request 
     HttpResponse response = httpClient.execute(postRequest); 
+0

मुझे अपना रिमोट सर्वर यूआरएल कहां जोड़ना चाहिए? आपके कोड में, "a.txt" क्या है? क्या आप मेरे लिए और अधिक समझा सकते हैं? – zorro6064

+0

YOUR_SERVER_URL में अपना सर्वर यूआरएल जोड़ें ... a.txt एक फ़ाइल है जिसे मैंने 2 सर्वर –

+0

भेजा है, मैंने आपका कोड इस्तेमाल किया है, लेकिन कुछ भी नहीं चले गए और कोई अपवाद फेंकता नहीं है। क्या आप मुझे मार्गदर्शन कर सकते हैं? मैंने आपके उपरोक्त कोड में कुछ भी नहीं बदला है। धन्यवाद – zorro6064

6

एक विशिष्ट फ़ोल्डर में फाइल को अपलोड करने के लिए, अपने सर्वर एपीआई कि समर्थन करना चाहिए। अपलोड की गई फ़ाइलों को प्राप्त करने के लिए

सर्वर साइड, आप एक फाइल अपलोड अनुरोध भेजने के लिए http://commons.apache.org/fileupload/

क्लाइंट साइड उपयोग कर सकते हैं, तो आप उपयोग कर सकते हैं https://hc.apache.org/httpcomponents-client-ga/index.html

+0

रिमोट सर्वर पर विशिष्ट फ़ोल्डर। मेरा सर्वर मेरे सर्वर पर चलता है, फ़ाइल होस्ट नहीं है जहां मेरा ऐप चलाया जाता है। – zorro6064

+0

जैसा कि मैंने कहा था, जब आप HTTP – gigadot

-3

बनाने:, तो HTTP बहु हिस्सा फाइल अपलोड एक उपयुक्त solution.You यहाँ से इस पर अधिक जानकारी प्राप्त कर सकते हैं हो रहा है 10
@Autowired 
ServletContext c; 

या वस्तु

byte[] bytes = file.getBytes(); 

String UPLOAD_FOLDEdR=c.getRealPath("/images"); 
Path path = Paths.get(UPLOAD_FOLDEdR +"/"+ file.getOriginalFilename()); 
Files.write(path, bytes); 
System.out.println(path); 
String Pic_Name =file.getOriginalFilename(); 
+1

के माध्यम से अपलोड करते हैं तो दूरस्थ सर्वर/फ़ाइल होस्ट को दूरस्थ गंतव्य निर्दिष्ट करने के लिए API प्रदान करना होगा, क्या आप अपना उत्तर संपादित कर सकते हैं, तो यह समझ में आता है? वर्तमान में कोड को पढ़ने में मुश्किल है, और यह वास्तव में स्पष्ट नहीं है कि यह इस मुद्दे को प्रश्न में कैसे हल करता है। कृपया अपने उत्तर को बेहतर समझाएं। – melwil

संबंधित मुद्दे