Tencent/WeKnora · error
failed to save downloaded file: %w
Error message
failed to save downloaded file: %w
What it means
Thrown in ProcessDocument when fileSvc.SaveBytes fails to persist the downloaded file bytes to (tenant-resolved) storage before parsing. Fires on storage outage/quota; on the last retry the knowledge is marked failed with the underlying message.
Source
Thrown at internal/application/service/knowledge_process.go:3384
if resolvedFileName != "" && knowledge.FileName == "" {
knowledge.FileName = resolvedFileName
}
if resolvedFileType != "" && knowledge.FileType == "" {
knowledge.FileType = resolvedFileType
s.repo.UpdateKnowledge(ctx, knowledge)
}
fileSvc := s.resolveFileService(ctx, kb)
filePath, err := fileSvc.SaveBytes(ctx, contentBytes, payload.TenantID, resolvedFileName, true)
if err != nil {
if isLastRetry {
knowledge.ParseStatus = "failed"
knowledge.ErrorMessage = err.Error()
knowledge.UpdatedAt = time.Now()
s.repo.UpdateKnowledge(ctx, knowledge)
}
return fmt.Errorf("failed to save downloaded file: %w", err)
}
payload.FilePath = filePath
payload.FileName = resolvedFileName
payload.FileType = resolvedFileType
convertResult, err = s.convert(ctx, payload, kb, knowledge, eff, isLastRetry)
if err != nil {
return err
}
if convertResult == nil {
return nil
}
} else if payload.URL != "" {
// URL import
convertResult, err = s.convert(ctx, payload, kb, knowledge, eff, isLastRetry)
if err != nil {
return err
}View on GitHub (pinned to 988cbb0330)
Solutions
- Check object storage availability and tenant credentials/quota
- Retry the parse task once storage is healthy
- Inspect knowledge.ErrorMessage for the storage-layer cause
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at internal/application/service/knowledge_process.go:3384 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/19367d5014ad5406.
Report an issue: GitHub.