从API读取Byte[]到数据库

本文关键字:数据库 Byte API 读取 | 更新日期: 2023-09-27 18:02:42

我一直在读这篇文章,因为我想通过LINQ来做这件事。然而,我一直无法弄清楚如何从API读取数据。

当我输出resource.Data.Body时,它显示Byte[]

当我输出resource.Data.Size时,它显示为834234822。(或类似的东西)

我正在尝试将内容保存到我的数据库中,像这样:

newContent.ATTACHMENT = resource.Data.Body;

但是,不加载任何数据。我假设我必须通过Body循环并将内容存储在变量中,但我不确定如何。

谁能帮我把这些点联系起来?编辑:

这是二进制数据的来源,我试图读取http://dev.evernote.com/start/core/resources.php

编辑2:

我正在使用以下代码,它给我二进制数据并保存到数据库,但它必须是损坏的,或者其他东西,因为当我去打开文件Windows照片查看器说它损坏或太大…

Resource resource = noteStore.getResource(authToken, attachment.Guid, true, false, true, true);
            StringBuilder data = new StringBuilder();
            foreach(byte b in resource.Data.Body)
            {
                data.Append(Convert.ToString(b, 2).PadLeft(8, '0'));  
            }
...
newContent.ATTACHMENT = System.Text.Encoding.ASCII.GetBytes(data.ToString());

从API读取Byte[]到数据库

考虑到resource.Data.Bodybyte[], newContent.ATTACHMENTSystem.Data.Linq.Binary,您应该使用System.Data.Linq.Binary的构造函数,该构造函数接受byte[]类型的输入参数。http://msdn.microsoft.com/en-us/library/bb351422.aspx

newContent.ATTACHMENT = new System.Data.Linq.Binary(resource.Data.Body);