【问题标题】:understanding the format of file and converting into byte c#了解文件格式并转换为字节c#
【发布时间】:2016-12-24 10:06:12
【问题描述】:

我正在创建一个网络应用程序,我将文件从(docx、xlxs、图像、pdf)转换为字节,

angularjs帮我转换文件但不知道文件转换成什么格式

这是输出

数据:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,UEsDBBQABgAIAAAAIQDfpNJsWgEAACAFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooA

openxmlformats-

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

我需要怎么做?

【问题讨论】:

  • 您的字节可能被编码为base64。通过 Bas64 解码器传递你得到的任何东西,看看会发生什么(即:你得到你的十六进制值了吗?)..

标签: c# angularjs xml web-services byte


【解决方案1】:

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

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

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

函数转换为字节数组

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();
    }
}

请注意,objobj 中的任何属性/字段(以及它们的所有属性/字段等等)都需要使用 Serializable attribute 进行标记才能成功地使用它进行序列化。

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

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

【讨论】:

  • 我需要如何将其转换为字节数组??
  • @InformationHTI 把你的文件放到这个函数里,然后转换成二进制数组
猜你喜欢
  • 2018-01-11
  • 1970-01-01
  • 1970-01-01
  • 2021-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多