【发布时间】:2013-03-06 19:45:04
【问题描述】:
我一直在阅读this,因为我想通过 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());
【问题讨论】:
-
newContent到底是什么以及它的关联属性ATTACHMENT? -
这是一个通过 LINQ 的对象(镜像我的数据库)
ATTACHMENTS_CONTENT newContent = new ATTACHMENTS_CONTENT(); -
而属性
ATTACHMENT,是byte[]吗? -
它是一个
image类型(在数据库中)。 编辑: 在 LINQ 的 .cs 文件中,它是public System.Data.Linq.Binary ATTACHMENT -
如果有帮助的话,这里是资源结构dev.evernote.com/documentation/reference/…
标签: c# linq api bytearray evernote