Ver código fonte

扩展core-retrofit,增加FormData文件上传辅助构造工具

Signed-off-by: luoshi <luoshi@qmth.com.cn>
luoshi 3 anos atrás
pai
commit
e0c0b9f1ef

+ 38 - 0
core-retrofit/src/main/java/com/qmth/boot/core/retrofit/utils/UploadFile.java

@@ -0,0 +1,38 @@
+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));
+    }
+
+}