阅读量:4
在 Java 中可以使用 Apache HttpClient 或者 HttpURLConnection 来实现文件上传到指定服务器,以下是两种方法的示例:
使用 Apache HttpClient:
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.impl.client.HttpClients;
import java.io.File;
import java.io.IOException;
public class FileUploader {
public static void main(String[] args) {
HttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost("http://example.com/upload");
File file = new File("path/to/file.txt");
HttpEntity entity = MultipartEntityBuilder.create()
.addBinaryBody("file", file, ContentType.DEFAULT_BINARY, file.getName())
.build();
httpPost.setEntity(entity);
try {
HttpResponse response = httpClient.execute(httpPost);
System.out.println(response.getStatusLine());
} catch (IOException e) {
e.printStackTrace();
}
}
}
使用 HttpURLConnection:
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
public class FileUploader {
public static void main(String[] args) {
String url = "http://example.com/upload";
String fileName = "path/to/file.txt";
try {
URL serverUrl = new URL(url);
HttpURLConnection connection = (HttpURLConnection) serverUrl.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type", "multipart/form-data");
File file = new File(fileName);
FileInputStream fileInputStream = new FileInputStream(file);
DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = fileInputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
fileInputStream.close();
outputStream.flush();
outputStream.close();
int responseCode = connection.getResponseCode();
System.out.println("Server response code: " + responseCode);
} catch (IOException e) {
e.printStackTrace();
}
}
}
以上示例代码演示了如何使用 Apache HttpClient 和 HttpURLConnection 来上传文件到指定服务器。在实际应用中,需要根据服务器的接口要求和认证方式进行适当的配置。
以上就是关于“java如何上传文件到指定服务器”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm