我需要使用 java 将图像和 txt 文件从我的应用程序上传到远程服务器(只是 http 没有 ftp)。我的应用程序在 jsf 框架中。我搜索但没有找到合适的东西。有人可以指导我吗?事实上,我应该将文件上传到远程服务器的特殊文件夹。我有两个具有共享路径的应用程序来上传文件,因此为了访问这些文件,我决定将共享文件(如图像和文本)上传到第三台服务器。第一个应用程序应该将文件上传到这个远程服务器,第二个应用程序应该从中读取它们。所以我在这个解决方案中最难的部分是使用 http 将文件上传到第三台服务器(实际上是远程服务器)。
问问题
52018 次
6 回答
6
要将文件上传到特定文件夹,您的服务器 API 必须支持该功能。
服务器端用于接收上传的文件,可以使用http://commons.apache.org/fileupload/
客户端发送文件上传请求,可以使用https://hc.apache.org/httpcomponents-client-ga/index.html
于 2012-05-23T11:48:58.157 回答
3
看看 apache commons-fileupload。您可以在此处找到示例代码。
于 2012-05-23T11:47:03.920 回答
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);
于 2012-05-23T11:47:28.197 回答
0
您可以使用 HttpClient。
POST
使用作为方法发送文件。
于 2012-05-23T11:39:53.520 回答
0
根据您的要求,您需要发送多个图像和文本文件。所以 HTTP 多部分文件上传似乎是一个合适的解决方案。您可以从这里获得更多信息。
于 2012-05-23T11:50:04.233 回答
-4
制作
@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();
于 2018-01-27T18:38:45.957 回答