理解文件格式并转换成字节c#

时间:2016-12-24 10:06:12

标签: c# angularjs xml web-services byte

我正在创建一个Web应用程序,我将文件从(docx,xl​​xs,images,pdf)转换为byte,

angularjs帮助我转换文件但我不知道文件转换的格式

这是输出

  

数据:应用程序/ vnd.openxmlformats-officedocument.wordprocessingml.document;的base64,UEsDBBQABgAIAAAAIQDfpNJsWgEAACAFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooA

openxmlformats-

此行表示数据是xml格式,但我想将此格式的数据转换为来自webservice的字节数组

我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

要将数据转换为字节数组,您不需要知道文件类型只需将其转换为字节数组。

转换为字节数组意味着我想查看任何文件的源数据,因此这只是转换它的文件类型并不重要。

后缀仅帮助应用程序轻松确定文件类型,但未更改二进制数据或影响文件数据

函数转换为字节数组

byte[] ObjectToByteArray(object obj)
{
    if(obj == null)
        return null;
    BinaryFormatter bf = new BinaryFormatter();
    using (MemoryStream ms = new MemoryStream())
    {
        bf.Serialize(ms, obj);
        return ms.ToArray();
    }
}

请注意,obj以及obj中的所有属性/字段(以及所有属性/字段的所有内容)都需要使用Serializable attribute进行标记才能成功用这个序列化。

2-将文件直接转换为字节数组

byte[] bytes = System.IO.File.ReadAllBytes(filename);