修复安卓手机显示名称不符显示为linux的问题;修复文件名乱码的问题

This commit is contained in:
2026-03-28 19:13:22 +08:00
parent 3d391415c6
commit 8b5f7d517e
5 changed files with 92 additions and 28 deletions

View File

@@ -456,6 +456,7 @@ func (h *HTTPHandler) downloadFallback(c *gin.Context) {
defer cancel()
filename := filepath.Base(transfer.Name)
filename = decodeDownloadFilename(filename)
if filename == "." || filename == "" {
filename = "download.bin"
}
@@ -597,6 +598,19 @@ func contentDisposition(filename string) string {
return `attachment; filename="` + escaped + `"`
}
func decodeDownloadFilename(filename string) string {
filename = strings.TrimSpace(filename)
if filename == "" || !strings.Contains(filename, "%") {
return filename
}
decoded, err := url.PathUnescape(filename)
if err != nil {
return filename
}
return strings.TrimSpace(decoded)
}
func (h *HTTPHandler) ensureFallbackBucket(ctx context.Context, transferID string) error {
if h.deps.MinIOClient == nil {
return nil