Tencent/WeKnora · error
failed to generate presigned URL: %w
Error message
failed to generate presigned URL: %w
What it means
MinIO PresignedGetObject failed while generating a time-limited download URL for the parsed object key, meaning no URL can be issued; credential signing problems or connectivity are typical wrapped causes.
Source
Thrown at internal/application/service/file/minio.go:232
_, err = s.client.PutObject(ctx, s.bucketName, objectName, reader, int64(len(data)), minio.PutObjectOptions{
ContentType: utils.GetContentTypeByExt(ext),
})
if err != nil {
return "", fmt.Errorf("failed to upload bytes to MinIO: %w", err)
}
return fmt.Sprintf("minio://%s/%s", s.bucketName, objectName), nil
}
// GetFileURL returns a presigned download URL for the file
func (s *minioFileService) GetFileURL(ctx context.Context, filePath string) (string, error) {
objectName, err := s.parseMinioFilePath(filePath)
if err != nil {
return "", err
}
presignedURL, err := s.client.PresignedGetObject(ctx, s.bucketName, objectName, 24*time.Hour, nil)
if err != nil {
return "", fmt.Errorf("failed to generate presigned URL: %w", err)
}
return presignedURL.String(), nil
}
View on GitHub (pinned to 988cbb0330)
Solutions
- Verify the object exists and credentials can sign URLs
- Check endpoint/SSL configuration for presigning
- Retry URL generation on transient errors
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at internal/application/service/file/minio.go:232 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Tencent/WeKnora@988cbb0330 (2026-09-02).
Data as JSON: /api/errors/ef8967dc433d5455.
Report an issue: GitHub.