酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

okhttp如何将带有multipartfile的httpservletrequest的请求原封不动地转发到另外一个服务

OkHttp是一个强大的HTTP客户端,它支持多种HTTP方法,包括上传文件的multipart/form-data。你可以使用OkHttp来发送一个带有multipartfile的HTTP请求到另一个服务,并原封不动地接收响应。 以下是一个简单的例子,演示如何使用OkHttp将multipartfile添加到HTTP请求并发送到另一个服务: ```java import okhttp3.*; public class OkHttpClientExample { public static final MediaType MEDIA_TYPE_PNG = MediaType.get("image/png"); public static final String URL = "http://example.com"; OkHttpClient client = new OkHttpClient(); public void run() throws IOException { RequestBody requestBody = new MultipartBody.Builder() .setType(MultipartBody.FORM) .addFormDataPart("file", "example.png", RequestBody.create(MEDIA_TYPE_PNG, "image data")) .build(); Request request = new Request.Builder() .url(URL) .post(requestBody) .build(); try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); System.out.println(response.body().string()); } catch (IOException e) { e.printStackTrace(); } } } ``` 在这个例子中,我们首先创建一个`MultipartBody`对象,这个对象表示要发送的multipart/form-data请求。然后,我们将这个请求添加到`Request`对象中,并指定目标URL。我们使用`OkHttpClient`对象发送这个请求。 注意,你需要替换URL和文件名以匹配你的实际情况。这个例子假设你要发送的文件是PNG格式的图像数据,如果你要发送其他类型的文件,你需要更改`MEDIA_TYPE_PNG`常量和`RequestBody.create()`方法的参数。 [2023-12-14 13:56:35 | AI写代码神器 | 460点数解答]

相关提问