mirror of
https://github.com/bloxstraplabs/bloxstrap.git
synced 2025-04-19 00:51:30 -07:00
Merge 1e3f76a2fd
into 1f21e8ce0b
This commit is contained in:
commit
6b7a4dc668
@ -11,14 +11,21 @@ namespace Bloxstrap.Utility
|
||||
{
|
||||
internal static long GetFreeDiskSpace(string path)
|
||||
{
|
||||
foreach (var drive in DriveInfo.GetDrives())
|
||||
try
|
||||
{
|
||||
// https://github.com/bloxstraplabs/bloxstrap/issues/1648#issuecomment-2192571030
|
||||
if (path.ToUpperInvariant().StartsWith(drive.Name))
|
||||
var isUri = Uri.TryCreate(p, UriKind.RelativeOrAbsolute, out var u);
|
||||
if (!Path.IsPathRooted(p) || !Path.IsPathFullyQualified(p) || (isUri && (u?.IsUnc??false)))
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
var drive = new DriveInfo(p);
|
||||
return drive.AvailableFreeSpace;
|
||||
}
|
||||
|
||||
return -1;
|
||||
catch (ArgumentException e)
|
||||
{
|
||||
App.Logger.WriteLine("Filesystem::BadPath", $"The path: {p} does not contain a valid drive info.");
|
||||
return -1
|
||||
}
|
||||
}
|
||||
|
||||
internal static void AssertReadOnly(string filePath)
|
||||
|
Loading…
Reference in New Issue
Block a user