cloudreve/cloudreve · error
failed to initialize multipart upload: %w
Error message
failed to initialize multipart upload: %w
What it means
Error "failed to initialize multipart upload: %w" thrown in cloudreve/cloudreve.
Source
Thrown at pkg/filemanager/driver/obs/obs.go:447
}
callbackPolicyEncoded := base64.StdEncoding.EncodeToString(callbackPolicyJSON)
mimeType := file.Props.MimeType
if mimeType == "" {
d.mime.TypeByName(file.Props.Uri.Name())
}
imur, err := d.obs.InitiateMultipartUpload(&obs.InitiateMultipartUploadInput{
ObjectOperationInput: obs.ObjectOperationInput{
Bucket: d.policy.BucketName,
Key: file.Props.SavePath,
},
HttpHeader: obs.HttpHeader{
ContentType: mimeType,
},
}, obs.WithRequestContext(ctx))
if err != nil {
return nil, fmt.Errorf("failed to initialize multipart upload: %w", err)
}
uploadSession.UploadID = imur.UploadId
// 为每个分片签名上传 URL
chunks := chunk.NewChunkGroup(file, d.chunkSize, &backoff.ConstantBackoff{}, false, d.l, "")
urls := make([]string, chunks.Num())
ttl := int64(time.Until(uploadSession.Props.ExpireAt).Seconds())
for chunks.Next() {
err := chunks.Process(func(c *chunk.ChunkGroup, chunk io.Reader) error {
signedURL, err := d.obs.CreateSignedUrl(&obs.CreateSignedUrlInput{
Method: obs.HttpMethodPut,
Bucket: d.policy.BucketName,
Key: file.Props.SavePath,
QueryParams: map[string]string{
partNumberParam: strconv.Itoa(c.Index() + 1),
uploadIdParam: uploadSession.UploadID,
},
Expires: int(ttl),View on GitHub (pinned to 20c95ad73f)
When it happens
Trigger: Thrown at pkg/filemanager/driver/obs/obs.go:447 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of cloudreve/cloudreve@20c95ad73f (2026-08-16).
Data as JSON: /api/errors/7878b7f278f86e90.
Report an issue: GitHub.