Tôi cần tải lên hình ảnh và tệp txt từ ứng dụng của mình lên máy chủ từ xa (Chỉ cần http không có ftp) bằng cách sử dụng java. Ứng dụng của tôi nằm trong khung công tác jsf. Tôi đã tìm kiếm nhưng không tìm thấy những thứ phù hợp. Có ai có thể hướng dẫn tôi không? Trong thực tế, tôi nên tải tệp lên thư mục đặc biệt lên máy chủ từ xa. Tôi có hai ứng dụng với đường dẫn chia sẻ để tải lên tệp, vì vậy để truy cập chúng vào tệp này, tôi decidec để tải lên các tệp được chia sẻ (chẳng hạn như hình ảnh và văn bản) lên máy chủ thứ ba. Ứng dụng đầu tiên sẽ tải các tệp lên máy chủ từ xa này và ứng dụng thứ hai sẽ đọc chúng từ đó. Vì vậy, phần cứng của tôi trong giải pháp này là tải tệp lên máy chủ thứ ba này (trên máy chủ từ xa) bằng cách sử dụng http.cách tải tệp lên máy chủ từ xa http bằng cách sử dụng java?
Trả lời
Bạn có thể sử dụng httpclient.
Gửi các tệp bằng cách sử dụng POST làm phương thức.
Hãy xem apache commons-fileupload. Bạn có thể tìm mã mẫu here.
Sử dụng đoạn mã sau:
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);
Tôi nên thêm url máy chủ từ xa của mình ở đâu? Trong mã của bạn, "a.txt" là gì? Bạn có thể giải thích thêm cho tôi không? – zorro6064
thêm url máy chủ ur vào YOUR_SERVER_URL ... a.txt là tệp mà tôi đã gửi 2 máy chủ –
Tôi đã sử dụng mã của bạn, nhưng không có gì được di chuyển và không có ngoại lệ. Bạn có thể hướng dẫn tôi không? Tôi đã không thay đổi gì trong mã trên của bạn. Cảm ơn – zorro6064
Để tải lên tập tin vào một thư mục cụ thể, API máy chủ của bạn phải hỗ trợ đó.
Server side để tiếp nhận các file tải lên, bạn có thể sử dụng http://commons.apache.org/fileupload/
phía khách hàng để gửi một yêu cầu tập tin tải lên, bạn có thể sử dụng https://hc.apache.org/httpcomponents-client-ga/index.html
Theo yêu cầu của bạn, bạn cần phải gửi nhiều hình ảnh & tập tin văn bản , Vì vậy, tải lên nhiều tệp HTTP đa phần có vẻ là giải pháp phù hợp.Bạn có thể nhận thêm thông tin về điều này từ đây: http://commons.apache.org/fileupload/using.html
make
@Autowired
ServletContext c;
hoặc đưa đối tượng
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();
Bạn có thể chỉnh sửa câu trả lời của mình để có ý nghĩa không? Hiện tại, mã khó đọc và không thực sự rõ ràng cách giải quyết vấn đề này. Vui lòng giải thích câu trả lời của bạn tốt hơn. – melwil
- 1. Tải lên Máy chủ Từ xa
- 2. Video tải lên Android cho máy chủ từ xa bằng cách sử dụng dữ liệu biểu mẫu nhiều phần HTTP
- 3. Tải lên tệp máy chủ từ xa qua PHP
- 4. Tải tệp lên máy chủ tệp bằng cách sử dụng lớp webclient
- 5. Tải lên tệp từ xa trên Selenium WebDriver bằng cách sử dụng PHP
- 6. Tải lên tệp bằng cách sử dụng file_get_contents
- 7. các tệp tải lên cURL lên máy chủ từ xa trên MS Windows
- 8. Tải xuống tệp từ máy chủ HTTPS bằng cách sử dụng Java
- 9. Cách tải tệp lên máy chủ qua FTP bằng R?
- 10. Cách tải lên tệp bằng cách sử dụng thư viện Java HttpClient làm việc với PHP
- 11. Tải tệp lên máy chủ bình python bằng cách sử dụng curl
- 12. tải tệp html từ máy chủ web bằng cách sử dụng khoảng cách điện thoại
- 13. Http POST bằng Java (với tải lên tệp)
- 14. Làm cách nào để tải lên tệp bằng cách sử dụng bài đăng http? Delphi 2009
- 15. Silverlight 4: Tải tệp lên máy chủ
- 16. cách tải lên tệp bằng cách sử dụng tải lên tệp commons trực tuyến api
- 17. Làm cách nào để tải tệp lên máy chủ FTP?
- 18. Python tìm kiếm tệp từ xa bằng cách sử dụng HTTP
- 19. Tải dữ liệu từ tệp excel lên cơ sở dữ liệu bằng cách sử dụng java
- 20. Nhận tiến trình tải lên trong khi tải tệp lên bằng cách sử dụng Webclient.Uploadfile
- 21. Đọc tệp .csv từ xa bằng cách sử dụng opencsv
- 22. Máy chủ proxy HTTP Java
- 23. Tải tệp lên máy chủ Node JS
- 24. Tải xuống tệp từ máy chủ SFTP bằng cách sử dụng JSch
- 25. Tải xuống và xóa các tệp từ xa bằng cách sử dụng lftp
- 26. Trình tải lên Java/Flash có thể tải lên có thể tải lên bằng Java không?
- 27. Cách tạo tệp .BAT để tải xuống tệp từ máy chủ HTTP \ ftp?
- 28. Tải xuống tệp từ internet bằng java: Cách xác thực?
- 29. Tải lên tệp .zip lên FTP và giải nén tệp bằng cách sử dụng PHP
- 30. Tải tệp tin lên php lên máy chủ php khác
Mọi người gợi ý commons FileUpload để gửi các tập tin là ** sai **. Nó có ý định * phân tích cú pháp * yêu cầu nhiều phần/biểu mẫu dữ liệu ở phía bên kia, chứ không phải * tạo và gửi * yêu cầu nhiều phần/dữ liệu biểu mẫu ở bên cạnh bạn. – BalusC
MAYBE câu hỏi phải được làm rõ hơn. Đừng mong đợi câu trả lời chính xác với một câu hỏi này mờ! –
Tôi có hai ứng dụng với đường dẫn chia sẻ để tải lên tệp, vì vậy để truy cập chúng vào tệp này, tôi decidec để tải lên các tệp được chia sẻ (chẳng hạn như hình ảnh và văn bản) vào máy chủ thứ ba. Ứng dụng đầu tiên sẽ tải các tệp lên máy chủ từ xa này và ứng dụng thứ hai sẽ đọc chúng từ đó. Vì vậy, phần cứng của tôi trong giải pháp này là tải các tệp lên máy chủ thứ ba này (trên máy chủ từ xa) bằng cách sử dụng http. – zorro6064