我不熟悉Android& Http并尝试使用Retrofit2创建图像上载任务。我使用的是给定here的示例。
在这个例子中,作者解释了为什么我们应该使用RequestBody或MultipartBody。我无法理解差异以及如何使用我的图像上传少量标签(字符串)。
任何人都可以通过以下方式帮助作者:
描述只是一个包含在RequestBody实例中的字符串值。其次,请求中还有另一个@Part:实际文件。我们使用MultipartBody.Part类,它允许我们发送除了二进制文件数据之外的实际文件名和请求。
答案 0 :(得分:1)
MultipartBody
IS-A(具体实施)RequestBody
public final class MultipartBody extends RequestBody
主要区别在于,与List<Part> parts
RequestBody
相比,为类提供了RequestBody
FormBody
本身就是抽象的,这意味着你不能直接创建一个。当你从一个方法中得到一个时,它就是它的一个后代,比如NSNotificationCenter.defaultCenter().postNotificationName("ObjectDeleted", object: ["object" : object])
您可以compare source code了解确切的差异。
答案 1 :(得分:1)
简单来说, RequestBody 可用于json / String请求,而 MultipartBody 可用于文件请求(图像,文档..)
答案 2 :(得分:0)
RequestBody :以简单方式向服务器发送数据时使用。
MultipartBody :在将POST请求中的数据分解为不同的离散类型并发送到服务器时使用。