feat: add chunked desktop client release uploads
Deployment Config CI / Deployment Config (push) Successful in 28s
Frontend CI / Frontend (push) Successful in 2m12s
Backend CI / Backend (push) Successful in 14m44s

This commit is contained in:
2026-06-01 01:31:54 +08:00
parent c5da0cf507
commit 76df672133
14 changed files with 1195 additions and 57 deletions
+15 -2
View File
@@ -103,6 +103,16 @@ func (c *minioClient) PutBytes(
objectKey string,
content []byte,
contentType string,
) error {
return c.PutReader(ctx, objectKey, bytes.NewReader(content), int64(len(content)), contentType)
}
func (c *minioClient) PutReader(
ctx context.Context,
objectKey string,
reader io.Reader,
size int64,
contentType string,
) error {
if err := c.Validate(); err != nil {
return err
@@ -110,6 +120,9 @@ func (c *minioClient) PutBytes(
if strings.TrimSpace(objectKey) == "" {
return fmt.Errorf("object key is required")
}
if reader == nil {
return fmt.Errorf("object reader is required")
}
exists, err := c.client.BucketExists(ctx, c.bucket)
if err != nil {
@@ -131,14 +144,14 @@ func (c *minioClient) PutBytes(
}
}
_, err = c.client.PutObject(ctx, c.bucket, objectKey, bytes.NewReader(content), int64(len(content)), minio.PutObjectOptions{
_, err = c.client.PutObject(ctx, c.bucket, objectKey, reader, size, minio.PutObjectOptions{
ContentType: contentType,
})
if err != nil {
c.logError(ctx, "minio put object failed",
zap.String("bucket", c.bucket),
zap.String("object_key", objectKey),
zap.Int("content_size", len(content)),
zap.Int64("content_size", size),
zap.Error(err),
)
return fmt.Errorf("put minio object: %w", err)