【发布时间】:2017-02-23 15:07:13
【问题描述】:
我正在使用 multipart 将数据上传到服务器。问题是后端开发人员告诉我,我上传的文件在上传过程中损坏了。
那么有什么方法可以在本地测试这些文件吗?像我可以将文件转换为多部分然后将其重新转换为文件进行测试吗?
我正在使用 Retrofit 2
谢谢
【问题讨论】:
标签: android multipartform-data retrofit2
我正在使用 multipart 将数据上传到服务器。问题是后端开发人员告诉我,我上传的文件在上传过程中损坏了。
那么有什么方法可以在本地测试这些文件吗?像我可以将文件转换为多部分然后将其重新转换为文件进行测试吗?
我正在使用 Retrofit 2
谢谢
【问题讨论】:
标签: android multipartform-data retrofit2
询问您的后端开发人员是否需要二进制文件或 base64 文件(如果是图像),然后相应地发送文件 您还可以在帖子正文中记录正在发送的数据
这是记录您通过改造发送的数据的代码
public class RetrofitClient {
private RetrofitClient() {
}
public static Retrofit getApiClient(String baseHost) {
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
// 设置你想要的日志级别 logging.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
httpClient.addInterceptor(logging);
httpClient.addInterceptor(new Interceptor() {
@Override
public Response intercept(Interceptor.Chain chain) throws IOException {
Request original = chain.request();
// Request customization: add request headers
Request.Builder requestBuilder = original.newBuilder()
.header(Util.HEADER_KEY, ""+Util.HEADER_VALUE); // <-- this is the important line
Request request = requestBuilder.build();
return chain.proceed(request);
}
});
OkHttpClient client = httpClient.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(baseHost)
.addConverterFactory(new NullOnEmptyConverterFactory())
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient.build())
.build();
return retrofit;
}
}
【讨论】: