2

我正在创建一个 Jetty 客户端,它将 POST 文件发送到 Jetty 服务器。我正在尝试使用ContentExchange.setFileForUpload(),但我无法在网上找到有关如何正确使用此 API 的任何示例代码。

4

1 回答 1

4

API 不言自明,只需传入您要上传的文件即可;其余的只是基本的 HTTP:

HttpClient httpClient = ...;

File file = ...;

ContentExchange exchange = new ContentExchange(true);
exchange.setURL("http://host/path");
exchange.setMethod(HttpMethods.POST);
exchange.setFileForUpload(file);
exchange.setRequestHeader("Content-Type", "application/octet-stream");
exchange.setRequestHeader("Content-Length", String.valueOf(file.length()));
httpClient.send(exchange);

// Wait for the upload to complete
exchange.waitForDone();

如果您想更好地控制文件上传将经历的 HTTP 阶段,或者更好地切换到Jetty 9 的 HttpClient ,请查看HttpClient 文档,这是一个大大改进的实现。

于 2013-04-15T13:23:21.067 回答