# minio-multipart-upload **Repository Path**: konglingdi/minio-multipart-upload ## Basic Information - **Project Name**: minio-multipart-upload - **Description**: 基于minio做的分片上传文件,包含秒传,断点续传。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 11 - **Forks**: 4 - **Created**: 2023-02-10 - **Last Updated**: 2024-10-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java ## README 基于minio做的分片上传文件 支持秒传、断点续传 * 流程 init -> chunkUpload -> complete * * 已上传过的文件秒传(文件的md5编码 是一样的表示同一个文件) * * 24小时内可以断点续传(生成的chunkUpload有效期是24小时,redis中 MULTIPART_UPLOADID_KEY和MULTIPART_UPLOADID_CHUNK_KEY有效期是24小时) * 超过24小时均失效 * * 所有的chunkUpload调用成功后,调用complete; chunkUpload未都调用成功时调用complete会返回500 工具: * 多个分片url请求参考:com.example.miniomultipartupload.common.util.PostUtils * 切割文件参考:com.example.miniomultipartupload.common.util.SplitMergeFileUtil 请求示例:细节参考MultipartController类 * 1、分片上传初始化 * http://localhost:8080/multipart/init * 请求体:{ * "filename": "aaa123.mp4", * "size": 48329356 * } * 返回值:{ * "msg": "操作成功", * "code": 200, * "data": { * "uploadId": "936f4244-84d3-4d6c-8cff-cce0907bd823", * "uploadUrlList": [ * "/multipart/chunkUpload?uploadId=936f4244-84d3-4d6c-8cff-cce0907bd823&chunk=chunk_0", * "/multipart/chunkUpload?uploadId=936f4244-84d3-4d6c-8cff-cce0907bd823&chunk=chunk_1", * "/multipart/chunkUpload?uploadId=936f4244-84d3-4d6c-8cff-cce0907bd823&chunk=chunk_2", * "/multipart/chunkUpload?uploadId=936f4244-84d3-4d6c-8cff-cce0907bd823&chunk=chunk_3", * "/multipart/chunkUpload?uploadId=936f4244-84d3-4d6c-8cff-cce0907bd823&chunk=chunk_4" * ], * "partCount": 5, * "url": null * } * } * 2、调用分片接口 * http://localhost:8080/multipart/chunkUpload?uploadId=936f4244-84d3-4d6c-8cff-cce0907bd823&chunk=chunk_0, * http://localhost:8080/multipart/chunkUpload?uploadId=936f4244-84d3-4d6c-8cff-cce0907bd823&chunk=chunk_1, * http://localhost:8080/multipart/chunkUpload?uploadId=936f4244-84d3-4d6c-8cff-cce0907bd823&chunk=chunk_2, * http://localhost:8080/multipart/chunkUpload?uploadId=936f4244-84d3-4d6c-8cff-cce0907bd823&chunk=chunk_3, * http://localhost:8080/multipart/chunkUpload?uploadId=936f4244-84d3-4d6c-8cff-cce0907bd823&chunk=chunk_4 * 3、合并分片 * http://localhost:8080/multipart/complete * 请求体:{ * "uploadId": "936f4244-84d3-4d6c-8cff-cce0907bd823" * } * 返回值:{ * "msg": "2023/02/10/91fc7d51-6caf-4d66-834e-165456f55975_20230210121947A001.mp4", * "code": 200 * }