相关疑难解决方法(0)

如何使用okhttp上传文件?

我使用okhttp作为我的httpclient.我认为这是一个很好的api,但文档并不那么详细.

如何使用它来发送带文件上传的http帖子请求?

public Multipart createMultiPart(File file){
    Part part = (Part) new Part.Builder().contentType("").body(new File("1.png")).build();
    //how to  set part name?
    Multipart m = new Multipart.Builder().addPart(part).build();
    return m;
}
public String postWithFiles(String url,Multipart m) throws  IOException{
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    m.writeBodyTo(out)
    ;
    Request.Body body =  Request.Body.create(MediaType.parse("application/x-www-form-urlencoded"),
            out.toByteArray());

    Request req = new Request.Builder().url(url).post(body).build();
    return client.newCall(req).execute().body().string();

}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 如何设置部件名称?在表单中,该文件应命名为file1.
  2. 如何在表单中添加其他字段?

java android okhttp mimecraft

35
推荐指数
3
解决办法
6万
查看次数

使用OkHttp在multipart中上传大文件

使用OKhttp在Android中的multipart中上传单个大文件(更具体地说,到s3)有什么选择?

upload android file-upload okhttp

27
推荐指数
3
解决办法
5万
查看次数

在多部分表单调用中,OKHttp中参数的正确位置是什么?

我正在尝试使用OKHttp将jpg文件上传复制到PHP服务器上的多部分表单.我相信,我在错误的地方得到了一些参数,我对http和命名法中的多部分形式并不熟悉.

这就是我想要完成的事情

将参数(名称值对)发布:myuser,token,types to https://www.somesite.com/jpgphotoupload.php

然后我用方法POST发出一个多部分表单请求,其中包含以下内容:path:https://www.somesite.com/jpgphotoupload.php

文件数据:大小为480 x 640的JPEG压缩图像数据(据我所知)

mimeType:image/jpeg (我明白了)

不确定以下名称值对应放在多部分表单请求的一部分,尝试使用addFormDataPart

参数:再次上面的参数形式,(myuser,token,types)

name:imagefile

fileName:myname.jpg

此外,这里还有其他可能相关的内容

            "Connection" , "Keep-Alive"
            "ENCTYPE", "multipart/form-data"
            "Content-Type", "multipart/form-data"
Run Code Online (Sandbox Code Playgroud)

这是我目前的代码.

MediaType MEDIA_TYPE_JPG = MediaType.parse("image/jpg");

            OkHttpClient client = new OkHttpClient();
                RequestBody requestBody = new MultipartBuilder()
                        .type(MultipartBuilder.FORM)
                        .addPart(
                                Headers.of("Content-Disposition", "form-data; name=\"imagefile\""),
                                RequestBody.create(MEDIA_TYPE_JPG, new File("/storage/emulated/0/download/camerapic.jpg")))
                        .addFormDataPart("myuser", getprefmyuser(getBaseContext()))
                        .addFormDataPart("token", getpreftoken(getBaseContext()))
                        .addFormDataPart("types", "type1")
                        .addFormDataPart("fileName", "myname.jpg")
                        .build();

                Request request = new Request.Builder()
                        .header("myuser", getprefmyuser(getBaseContext()))
                        .header("token", getpreftoken(getBaseContext()))
                        .header("type", "car")
                        .url("https://www.somesite.com/jpgphotoupload.php")
                        .post(requestBody)
                        .build();

            Response response = null;
            try {
                response …
Run Code Online (Sandbox Code Playgroud)

php forms https android okhttp

7
推荐指数
1
解决办法
2106
查看次数

Postman Java 代码被剪断 Okhttp 不兼容

我正在使用 Postman 版本 8.5.1,并且我正在尝试使用代码 OkHTTP 代码片段。似乎有些声明不起作用......

OkHttpClient client = new OkHttpClient().newBuilder().build();
Run Code Online (Sandbox Code Playgroud)

然而这似乎有效......

OkHttpClient client = new OkHttpClient();
Run Code Online (Sandbox Code Playgroud)

这也行不通...

  .addFormDataPart("file","test.jpg",RequestBody.create(MediaType.parse("application/octet-stream"),new File("/Users/tm/Desktop/test.jpg")))
Run Code Online (Sandbox Code Playgroud)

它提到了一些关于错误的 RequestBody 对象的信息......

我正在使用这个 Maven 仓库...

    <dependency>
        <groupId>com.squareup.okhttp</groupId>
        <artifactId>okhttp</artifactId>
        <version>2.7.5</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

这是导入声明

 import com.squareup.okhttp.*;
Run Code Online (Sandbox Code Playgroud)

哪个版本的 okhttp 与 Postman 代码片段完全兼容?应该使用哪个 Maven 存储库?

好像还有一个 okhttp3 ...

java okhttp postman

3
推荐指数
1
解决办法
1362
查看次数

标签 统计

okhttp ×4

android ×3

java ×2

file-upload ×1

forms ×1

https ×1

mimecraft ×1

php ×1

postman ×1

upload ×1