cloudreve/cloudreve · error

failed to generate presigned upload url for chunk %d: %w

Error message

failed to generate presigned upload url for chunk %d: %w

What it means

Error "failed to generate presigned upload url for chunk %d: %w" thrown in cloudreve/cloudreve.

Source

Thrown at pkg/filemanager/driver/ks3/ks3.go:443

		err := chunks.Process(func(c *chunk.ChunkGroup, chunk io.Reader) error {
			// 计算过期时间(秒)
			expireSeconds := int(time.Until(uploadSession.Props.ExpireAt).Seconds())
			partNumber := c.Index() + 1

			// 生成预签名URL
			signedURL, err := handler.svc.GeneratePresignedUrl(&s3.GeneratePresignedUrlInput{
				HTTPMethod: s3.PUT,
				Bucket:     &handler.policy.BucketName,
				Key:        &uploadSession.Props.SavePath,
				Expires:    int64(expireSeconds),
				Parameters: map[string]*string{
					"partNumber": aws.String(strconv.Itoa(partNumber)),
					"uploadId":   res.UploadID,
				},
				ContentType: aws.String("application/octet-stream"),
			})
			if err != nil {
				return fmt.Errorf("failed to generate presigned upload url for chunk %d: %w", partNumber, err)
			}
			urls[c.Index()] = signedURL
			return nil
		})
		if err != nil {
			return nil, err
		}
	}

	// 签名完成分片上传的请求URL
	expireSeconds := int(time.Until(uploadSession.Props.ExpireAt).Seconds())
	signedURL, err := handler.svc.GeneratePresignedUrl(&s3.GeneratePresignedUrlInput{
		HTTPMethod: s3.POST,
		Bucket:     &handler.policy.BucketName,
		Key:        &file.Props.SavePath,
		Expires:    int64(expireSeconds),
		Parameters: map[string]*string{
			"uploadId": res.UploadID,

View on GitHub (pinned to 20c95ad73f)

When it happens

Trigger: Thrown at pkg/filemanager/driver/ks3/ks3.go:443 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/cc927d403ad1cc92. Report an issue: GitHub.