我有一个来自项目中一个类的自定义对象。例如,abc
类型的对象MyCustomClass
我需要在程序中调用之前编写的方法。此方法采用一个HttpPostedFileBase
参数,然后将其保存在服务器上。
所以我的问题是,我该如何转换object
并将其传递给HttpPostedFileBase
,以便从那时起就可以完成工作。
这是我到目前为止发现和发现的内容: how to convert a byte[] to HttpPostedFileBase using c#
答案 0 :(得分:1)
如果该方法期望使用HttpPostedFileBase
,则需要使MyCustomClass
继承自HttpPostedFileBase
或仅创建一个新对象HttpPostedFileBase
来获取所需的信息您的MyCustomClass
对象。
答案 1 :(得分:1)
如果您的课程可序列化,则可以使用BinaryFormatter。以下方法可以帮助您:
public byte[] ConvertObjectToByteArray(object source)
{
var formatter = new BinaryFormatter();
using (var memoryStream = new MemoryStream())
{
formatter.Serialize(memoryStream, source);
return memoryStream.ToArray();
}
}
来源:convert a class to byte array + C#
然后您可以根据链接使用它:
// code will look like below:
MyCustomClass abc = new MyCustomClass();
var byteArray = ConvertObjectToByteArray(abc);
HttpPostedFileBase objFile = (HttpPostedFileBase)new MemoryPostedFile(byteArray);