我正在尝试使用Google Photos API上传一张图片,上传字节。以下是我的OkHttp3请求:
但是,如何使用数据数组构建这个requestBody呢? 编辑 我已经尝试过:
Request request = new Request.Builder()
.addHeader("Authorization", "Bearer " + token)
.addHeader("Content-type:", "application/octet-stream")
.addHeader("X-Goog-Upload-Content-Type:",mimeType)
.addHeader("X-Goog-Upload-Protocol:", "raw")
.url("https://photoslibrary.googleapis.com/v1/uploads")
.post(requestBody) // how to build request body?
.build();
文档显示:“在请求正文中,包含文件的二进制数据:”
媒体二进制数据
这是什么意思?
对于给定的文件,我认为它是:
byte[] data = FileUtils.readFileToByteArray(new File(myPath));
但是,如何使用数据数组构建这个requestBody呢? 编辑 我已经尝试过:
MediaType mType = MediaType.parse("application/octet-stream; charset=utf-8");
RequestBody requestBody = RequestBody.create(mType,new File(path));
异常:
okhttp3.internal.http2.StreamResetException: 流被重置: 协议错误(PROTOCOL_ERROR)
非常感谢您帮助我找到正确的方向!