以下是Retrofit2的界面:
public interface OAuthServerIntf {
....
@POST("upload/drive/v3/files?uploadType=multipart")
@Multipart
Call<JsonObject> uploadFileMutil(
@Header("Authorization") String authToken,
@Part MultipartBody.Part metaPart,
@Part MultipartBody.Part dataPart);
}
我打电话的地方:
public void onActivityResult(...) {
....
MultipartBody.Part filePart =
MultipartBody.Part.createFormData("image", file.getName(), fileBody);
Call<JsonObject> request =
server.uploadFileMutil(oauthToken.getAccessToken(),filePart);
request.enqueue(new Callback<JsonObject>(){...});
}
oauthToken.getAccessToken() -accesstoken
MultipartBody.Part filePart - 我要发送给服务器的文件
一般来说,如何进行查询以及 metaPart 和 dataPart 的这两个参数?
读取令牌需要带到承载类型,怎么办?
答案 0 :(得分:1)
不确定你是否找到了答案。仍然会在下面显示一些代码,并希望这有助于某人。
val contentType = MediaType.parse("application/json; charset=UTF-8");
val content = "{\"name\": \"" + srcFile.name + "\"}"
val metaPart = MultipartBody.Part.create(RequestBody.create(contentType, content))
val dataPart = MultipartBody.Part.create(RequestBody.create(MediaType.parse("text/plain"), srcFile))
val headers = HashMap<String, String>()
headers.put("Authorization", "Bearer " + accessToken)
mDriveApi.uploadFile(headers, metaPart, dataPart)