1

我一直在阅读这篇文章,因为我想通过 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());
4

1 回答 1

2

鉴于resource.Data.Bodyisbyte[]newContent.ATTACHMENTis System.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);
于 2013-03-06T21:16:03.760 回答