当前位置: 首页 > 知识库问答 >
问题:

使用postman生成的okhttp上传多部分文件

房星光
2023-03-14

由邮递员生成以下代码:

OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("multipart/form-data; boundary=---011000010111000001101001");
RequestBody body = RequestBody.create(mediaType, "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"image\"; filename=\"[object Object]\"\r\nContent-Type: false\r\n\r\n\r\n-----011000010111000001101001--");
Request request = new Request.Builder()
    .url("http://foobar.com/newsfeed/photo")
    .post(body)
    .addHeader("content-type", "multipart/form-data; boundary=---011000010111000001101001")
    .addHeader("x-access-token", "MczCvMEbllNhGaMwEDnGXuQjrwBAYuYleFlgsUZDWRYbVaohpEGgofonYcvHsgPaTnbzHxCvJWalYFTY")
    .addHeader("accept-language", "ru")
    .build();

   Response response = client.newCall(request).execute();

此请求在服务器上生成一个大小为0 Kb的文件。而且我无法放文件。所以,我必须放一个这样的文件:

RequestBody body = RequestBody.create(mediaType, new File(filename));

但我有一个超时选项。

如何使用这种Rest API放置文件?

共有1个答案

姜兴业
2023-03-14

我找到了一种通过Ion上传多部分文件的方法。

Ion.with(context).load(url).setHeader("x-access-token", token)
            .setMultipartParameter("x-access-token", token)
            .setMultipartContentType("multipart/form-data")
            .setMultipartFile("image", "image/jpeg", file)
            .asString().withResponse().setCallback(new FutureCallback<Response<String>>() {
        @Override
        public void onCompleted(Exception e, Response<String> result) {
            if (result != null)
                onSuccess(result.getResult(), result.getHeaders().code());
        }
    });
 类似资料:
  • 在Android中使用OKHTTP以多部分方式上传单个大文件(更具体地说,上传到s3)时,我有什么选择?

  • 我正在使用这个音频记录和视频文件,它是工作的,但我想用OKHTTP取代它。我没弄明白。有人能帮我一下吗?

  • 我试图实现一个进度条来指示一个多部分文件上传的进度。 有人能举个例子说明我会怎么做吗?

  • 它应该很简单:我必须发送文件和一些字符串值。但我想不出怎么做。 根据我发现的一些样本,我首先尝试了以下内容: 它给我一个“400错误请求”错误。 我做错了什么? 编辑:顺便说一句,上面的“getfile()”返回一个File对象。其余的参数都是字符串和int。

  • 我试图用python写的lambda (aws)完成多部分上传。下面是我正在使用的代码。大约有120个部件,总大小为30GB。下面的操作似乎没有在5分钟内完成,因此lambda关闭,上传似乎没有完成。S3提供异步多部分上传功能吗?我相信这将确保文件得到合并,不管lambda关闭。

  • 我正在构建一个应用程序,需要一个API调用,在其POST body请求中有数组。我正在使用OkHttp 2.6请求API。 Postman中的请求如下所示: 为了实现这一点,我尝试了几种编写的方法,