Add pathway to correctly handle stream-based imports which are not zip archives

This commit is contained in:
Dean Herbert
2021-11-12 16:39:17 +09:00
parent 9fc4bb7055
commit adf81d7fcd
2 changed files with 51 additions and 3 deletions

View File

@ -9,6 +9,34 @@ namespace osu.Game.Utils
{
public static class ZipUtils
{
public static bool IsZipArchive(Stream stream)
{
try
{
stream.Seek(0, SeekOrigin.Begin);
using (var arc = ZipArchive.Open(stream))
{
foreach (var entry in arc.Entries)
{
using (entry.OpenEntryStream())
{
}
}
}
return true;
}
catch (Exception)
{
return false;
}
finally
{
stream.Seek(0, SeekOrigin.Begin);
}
}
public static bool IsZipArchive(string path)
{
if (!File.Exists(path))