Есть ли способ создать экземпляр HttpPostedFile с помощью Reflection.
Я пытался:
var obj = (HttpPostedFile)typeof(HttpPostedFile).GetConstructor(
BindingFlags.NonPublic | BindingFlags.Instance,
null, Type.EmptyTypes, null).Invoke(null);
var obj2 = Activator.CreateInstance(typeof(HttpPostedFile)
, BindingFlags.NonPublic | BindingFlags.Instance
, null
, new object[] { }
, System.Globalization.CultureInfo.CurrentCulture);
Но оба они не работают.
Обновление:по-видимому, внутренний конструктор выглядит так:
internal HttpPostedFile(string filename, string contentType, Stream stream)
Я пробовал это, но безуспешно:
Stream s = new MemoryStream(b.blob);
//var httpPostedFile = new HttpPostedFile();
Type[] parameters = { typeof(string), typeof(string), typeof(Stream) };
var obj = (HttpPostedFile)typeof(HttpPostedFile).GetConstructor(
BindingFlags.NonPublic | BindingFlags.Instance,
null, parameters, null)
.Invoke(new object[] { "filename", "image/jpeg", s });