Gee, if you had said about 500?
Then I would consider the ajaxfile uploader in the ajaxtool kit.
Since you can set the packet size and that it chunks (up-loads in smaller parts), then I have found that:
Memory foot print is small.
No real limits on the size of the file being up-loaded.
Allows and handles say 100 files, even 200 with great ease.
Does not over load the server - since each of those chunks of a file setup are processed, and that tends to give the server a bit of time to gulp some air, or take a breath - and thus other users are not really much impacted by the up-loader.
And I have tested the ajaxfile file up-loader to about 800 files.
However, I think the UI would (should be) changed, since really, at the end of the day?
1000 files to be uploaded is not really a job for a web browser interface. I would suggest that you have them use some FTP client software, and ftp does allow wild cards etc., and it would quite much made for this type of transfer.
And, the other suggestion was to have that end user zip up the files they way, and thus you only up-load one zip file.
The ajaxtoolkit is for asp.net webforms, and you can install it by nuget. I think that toolkit up-loader is quite happy up to say 500 files. However, I just think that anything beyond 100 files is too much for a web interface anyway.