The problem is the following code:
string relativePath = uploadPath;
if (!string.IsNullOrEmpty(relativePath) && uploadPath != "/")
{
relativePath += "/";
}
relativePath += fInfo.Name;
It should be appending the full path but instead its just attaching name. I'll try to get a fix for this posted as soon as possible. Likely the fix will be to find the common root and build the tree up from there.
So,
c:\testroot\testfolder1\file1.txt
c:\testroot\testfolder2\file1.txt
c:\testroot\testfolder1\someotherfolder\file1.txt
would translate to the paths dropping the c:\testroot and changing the \ to /.
I will keep you posted as soon as the fix is up.