输入流不是有效的二进制格式起始内容以字节为单位为:50-4B-03-04-14-00-06-00-08-00-00-00-21-00-87-56-E1

问题描述

我无法从 byte[] 转换为 DataTable。这是我的代码

private bool ValidateFile(FileModel fileModel,IList<Attachment> attachments)
        {
            try
            {
                var fileObj = (JObject)attachments[0].Content;
                var fileExtension = fileObj.SelectToken("fileType").ToString();
                if (fileExtension == ((FileType)fileModel.Extention).ToString())
                {
                    byte[] response = new WebClient().DownloadData(new Uri(fileObj.SelectToken("downloadUrl").ToString()));
                    System.Data.DataSet tempDataSet = new System.Data.DataSet();
                    DataTable dt;
                    // Deserializing into datatable    
                    using (MemoryStream stream = new MemoryStream(response))
                    {
                        BinaryFormatter bformatter = new BinaryFormatter();
                        dt = (DataTable)bformatter.Deserialize(stream);
                    }
                    // Adding DataTable into DataSet    
                    tempDataSet.Tables.Add(dt);
                    return true;
                }
                else
                {
                    return false;
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }

我在“dt = (DataTable)b​​formatter.Deserialize(stream);”行遇到异常 例外是 - 输入流不是有效的二进制格式。起始内容(以字节为单位)为:50-4B-03-04-14-00-06-00-08-00-00-00-21-00-87-56-E1

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)