Существует еще один метод, основанный не на расширении файла, а на его содержимом с использованием библиотеки типов носителей pypi.org/project/python-libmagic :
Пример кода для этой библиотеки:
import magic
magic = magic.Magic()
mimestart = magic.from_file("test.mp3").split('/')[0]
if mimestart == 'audio' or mimestart == 'video' or mimestart == 'image':
print("media types")
ПРИМЕЧАНИЕ: для использования этого примера кода вам необходимо установить Python-libmagic trough pip.
Я изменил свой webmethod для возврата
ds.GetXml();
и это работало. Наборы данных рассмотрения serializeable, я не уверен, почему я должен сделать это, но это получает меня по этому препятствию.