我正在创建一个 Jetty 客户端,它将 POST 文件发送到 Jetty 服务器。我正在尝试使用ContentExchange.setFileForUpload()
,但我无法在网上找到有关如何正确使用此 API 的任何示例代码。
问问题
1855 次
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 回答