附件SDK增加了通过 ByteArray 上传文件接口
This commit is contained in:
@ -62,4 +62,13 @@ public interface AttachmentClient {
|
|||||||
*/
|
*/
|
||||||
Optional<UploadObject> upload(Long businessId, File file);
|
Optional<UploadObject> upload(Long businessId, File file);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上传资源文件
|
||||||
|
*
|
||||||
|
* @param bid
|
||||||
|
* @param file
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Optional<UploadObject> upload(Long businessId, String filename, byte[] array);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -70,7 +70,9 @@ public class DefaultAttachmentClient implements AttachmentClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param businessId
|
* 文件下载
|
||||||
|
*
|
||||||
|
* @param businessId 业务id
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@ -79,7 +81,9 @@ public class DefaultAttachmentClient implements AttachmentClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param objectId
|
* 文件下载
|
||||||
|
*
|
||||||
|
* @param objectId 对象id
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@ -88,8 +92,10 @@ public class DefaultAttachmentClient implements AttachmentClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param businessId
|
* 上传附件
|
||||||
* @param file
|
*
|
||||||
|
* @param businessId 业务id
|
||||||
|
* @param file 文件
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@ -102,4 +108,23 @@ public class DefaultAttachmentClient implements AttachmentClient {
|
|||||||
return Optional.ofNullable(new UploadObject().setId(feedback.getOid()));
|
return Optional.ofNullable(new UploadObject().setId(feedback.getOid()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上传附件
|
||||||
|
*
|
||||||
|
* @param businessId 业务ID
|
||||||
|
* @param filename 文件名称
|
||||||
|
* @param array 文件字节组
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Optional<UploadObject> upload(Long businessId, String filename, byte[] array) {
|
||||||
|
Objects.requireNonNull(businessId);
|
||||||
|
Objects.requireNonNull(array);
|
||||||
|
|
||||||
|
FeedbackMessage feedback = queryService.handleFileUpload(businessId,
|
||||||
|
FileConvertor.toMultipartFile(filename, array));
|
||||||
|
|
||||||
|
return Optional.ofNullable(new UploadObject().setId(feedback.getOid()));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -13,12 +13,14 @@ import org.springframework.web.multipart.commons.CommonsMultipartFile;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 文件转换器
|
* 文件转换器
|
||||||
|
*
|
||||||
* @author Ajaxfan
|
* @author Ajaxfan
|
||||||
*/
|
*/
|
||||||
public final class FileConvertor {
|
public final class FileConvertor {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将 File 对象转换为 MultipartFile 对象
|
* 将 File 对象转换为 MultipartFile 对象
|
||||||
|
*
|
||||||
* @param file 原始文件对象
|
* @param file 原始文件对象
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ -41,4 +43,23 @@ public final class FileConvertor {
|
|||||||
return new CommonsMultipartFile(item);
|
return new CommonsMultipartFile(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件字节数组转换为上传资源
|
||||||
|
*
|
||||||
|
* @param filename 文件名称
|
||||||
|
* @param array 文件字节组
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static MultipartFile toMultipartFile(String filename, byte[] array) {
|
||||||
|
FileItemFactory factory = new DiskFileItemFactory(16, null);
|
||||||
|
FileItem item = factory.createItem("file", "text/plain", true, filename);
|
||||||
|
|
||||||
|
try (OutputStream os = item.getOutputStream()) {
|
||||||
|
os.write(array);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return new CommonsMultipartFile(item);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user