瀏覽代碼

Allow non-ASCII in downloaded filenames (#8825)

Fixes https://github.com/jellyfin/jellyfin/issues/8657
Justin 2 年之前
父節點
當前提交
df66816178
共有 1 個文件被更改,包括 3 次插入15 次删除
  1. 3 15
      Jellyfin.Api/Controllers/LibraryController.cs

+ 3 - 15
Jellyfin.Api/Controllers/LibraryController.cs

@@ -637,22 +637,10 @@ namespace Jellyfin.Api.Controllers
                 await LogDownloadAsync(item, user).ConfigureAwait(false);
             }
 
-            var path = item.Path;
+            // Quotes are valid in linux. They'll possibly cause issues here.
+            var filename = Path.GetFileName(item.Path)?.Replace("\"", string.Empty, StringComparison.Ordinal);
 
-            // Quotes are valid in linux. They'll possibly cause issues here
-            var filename = (Path.GetFileName(path) ?? string.Empty).Replace("\"", string.Empty, StringComparison.Ordinal);
-            if (!string.IsNullOrWhiteSpace(filename))
-            {
-                // Kestrel doesn't support non-ASCII characters in headers
-                if (Regex.IsMatch(filename, @"[^\p{IsBasicLatin}]"))
-                {
-                    // Manually encoding non-ASCII characters, following https://tools.ietf.org/html/rfc5987#section-3.2.2
-                    filename = WebUtility.UrlEncode(filename);
-                }
-            }
-
-            // TODO determine non-ASCII validity.
-            return PhysicalFile(path, MimeTypes.GetMimeType(path), filename, true);
+            return PhysicalFile(item.Path, MimeTypes.GetMimeType(item.Path), filename, true);
         }
 
         /// <summary>