OSDN Git Service

na-get-lib,「#30799 Javaがインストールできない。」問題の修正。ダウンロードファイル名取得処理の改善。
[applistation/AppliStation.git] / na-get-lib / NaGet / Utils.cs
index 7cdc07b..1c240cf 100644 (file)
@@ -174,17 +174,23 @@ namespace NaGet
                /// <param name="url">対象のurl</param>\r
                public static string Url2filename(Uri url)\r
                {\r
-                       string filename = Path.GetFileName(System.Web.HttpUtility.UrlDecode(url.ToString(), Encoding.UTF8));\r
+                       string filename = Path.GetFileName(System.Web.HttpUtility.UrlDecode(url.AbsolutePath, Encoding.UTF8));\r
+                       \r
+                       if (string.IsNullOrEmpty(filename)) {\r
+                               filename = Path.GetFileName(System.Web.HttpUtility.UrlDecode(url.ToString(), Encoding.UTF8));\r
+                       }\r
                        \r
                        int pos;\r
                        if ((pos = filename.IndexOfAny(Path.GetInvalidFileNameChars())) >= 0) {\r
                                // 不正な文字が含まれているならば、それ以降を削除\r
                                filename = filename.Substring(0, pos);\r
-                               // そうしてしまったら文字の内容がまったくなくなってしまったら、現在時刻から取得\r
-                               if (filename.Length == 0) {\r
-                                       filename = string.Format("tmp_{0}", DateTime.Now.Ticks);\r
-                               }\r
                        }\r
+                       \r
+                       // そうしてしまったら文字の内容がまったくなくなってしまったら、現在時刻から取得\r
+                       if (filename.Length == 0) {\r
+                               filename = string.Format("tmp_{0}", DateTime.Now.Ticks);\r
+                       }\r
+                       \r
                        return filename;\r
                        //return UrlDecode(Path.GetFileName(url), Encoding.UTF8);\r
                }\r