Текстовые файлы, загруженные на S3, кодируются странно?

Это довольно просто. Предположим, что ваше имя класса Car, а пространство имен - Vehicles, затем передайте параметр как Vehicles.Car, который возвращает объект типа Car. Подобным образом вы можете создать любой экземпляр любого класса динамически.

public object GetInstance(string strNamesapace)
{         
     Type t = Type.GetType(strNamesapace); 
     return  Activator.CreateInstance(t);         
}

Если ваше Полноценное имя (т. Е. Vehicles.Car в этом случае) находится в другой сборке, Type.GetType будет null. В таких случаях вы прокручиваете все сборки и находите Type. Для этого вы можете использовать приведенный ниже код

public object GetInstance(string strFullyQualifiedName)
{
     Type type = Type.GetType(strFullyQualifiedName);
     if (type != null)
         return Activator.CreateInstance(type);
     foreach (var asm in AppDomain.CurrentDomain.GetAssemblies())
     {
         type = asm.GetType(strFullyQualifiedName);
         if (type != null)
             return Activator.CreateInstance(type);
     }
     return null;
 }

. Вы можете получить экземпляр, вызвав вышеуказанный метод.

object objClassInstance = GetInstance("Vehicles.Car");

22
задан Paolo 14 March 2014 в 10:56
поделиться

1 ответ

Для тех, кто использует boto3 (python 3) для загрузки и имеет странные символы вместо частотной коррекции (такой как на португальском и французском языках, например), Toni Chaz и Sony Kadavan , ответы дали мне подсказку для фиксации. Добавление"; charset=utf-8" к аргументу ContentType при вызове put_object был достаточно к частотной коррекции быть показанным правильно.

content_type="text/plain;charset=utf-8"
bucket_obj.put_object(Key=key, Body=data, ContentType=content_type)
0
ответ дан 29 November 2019 в 03:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: