Skip to content

[BUG] - Unable to download to folders with spaces in the name. #147

@nickmcski

Description

@nickmcski

Describe the bug
On Windows, the tool is unable to download software if the destination folder name contains a space. No error messages are provided to the user, the downloads just silently fail.

With exception breakpoints enabled, I can see it trying to access the following path:
C:/Users/nickm/Documents/CSA%20Tools/ni-frc-2025-game-tools_25.0.1_offline.iso

I believe the issue is caused by the spaces getting URL Encoded as '%20' by outputUri.AbsolutePath

await using var existingFile = File.OpenRead(outputUri.AbsolutePath);

** CSA USB Tool Version**

  • Version/Tag here: 2025.1 Beta

To Reproduce
Steps to reproduce the behavior:

  1. Select files, and click Download
  2. In the file chooser, select a folder with a space (ex 'CSA Tools')

Stack Trace

at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable1 unixCreateMode) at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable1 unixCreateMode)
at System.IO.Strategies.FileStreamHelpers.ChooseStrategyCore(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
at System.IO.File.OpenRead(String path)
at CSAUSBTool.CrossPlatform.Models.ControlSystemSoftware.d__33.MoveNext() in C:\Users\nickm\Downloads\CSA-USB-Tool\CSAUSBTool.CrossPlatform\Models\ControlSystemSoftware.cs:line 47

Expected behavior
Files download to the correct folder

Desktop (please complete the following information):

  • OS: Windows
  • OS Version: Windows 10
  • .NET Version: .NET 8.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions