package com.qmth.boot.core.retrofit.utils;

import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;

import java.io.File;

/**
 * 文件上传表单字段辅助构造工具
 */
public class UploadFile {

    /**
     * 根据二进制内容构造FormData字段
     *
     * @param field 表单字段
     * @param name  上传文件名
     * @param data  二进制内容
     * @return
     */
    public static MultipartBody.Part build(String field, String name, byte[] data) {
        return MultipartBody.Part.createFormData(field, name, RequestBody.create(MediaType.parse(name), data));
    }

    /**
     * 根据本地磁盘文件构造FormData字段
     *
     * @param field 表单字段
     * @param name  上传文件名
     * @param file  本地文件
     * @return
     */
    public static MultipartBody.Part build(String field, String name, File file) {
        return MultipartBody.Part.createFormData(field, name, RequestBody.create(MediaType.parse(name), file));
    }

}
