【问题标题】:Retrofit convert multipart body back to file改造将多部分正文转换回文件
【发布时间】:2017-02-23 15:07:13
【问题描述】:

我正在使用 multipart 将数据上传到服务器。问题是后端开发人员告诉我,我上传的文件在上传过程中损坏了。

那么有什么方法可以在本地测试这些文件吗?像我可以将文件转换为多部分然后将其重新转换为文件进行测试吗?

我正在使用 Retrofit 2

谢谢

【问题讨论】:

    标签: android multipartform-data retrofit2


    【解决方案1】:

    询问您的后端开发人员是否需要二进制文件或 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;
    }
    

    }

    【讨论】:

      猜你喜欢
      • 2014-08-11
      • 1970-01-01
      • 2016-02-15
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多