Windows store apps 通过新的REST API将文档发布到OneNote
由于某些原因,我通过新的REST API上载到OneNote的任何文档在从OneNote查看时都已损坏。其他一切正常,但文件(例如Word文档)不可单击,如果您尝试打开,则显示为已损坏 这与字节数组或其内存中出现问题时可能发生的情况类似,但情况似乎并非如此。我使用基本相同的过程将文件字节上载到SharePoint、OneDrive等。只有OneNote的文件似乎已损坏 这里是C语言的简化版本# 是否有人有过通过OneNote API通过Windows应用商店应用程序上载实际二进制文档的想法或工作代码?包含一个如何上载附件的工作示例(方法:CreatePageWithAttachedFile)。 我能想到的上述代码段和代码示例之间的细微差别是,代码示例上载pdf文件(而不是文档),并且示例使用StreamContent(而上述代码段使用ByteArrayContent)。 我下载了代码示例,并在本地对其进行了修改,以使用文档文件和ByteArrayContent。我能够上传附件并成功查看它。使用以下命令从给定流获取字节数组:Windows store apps 通过新的REST API将文档发布到OneNote,windows-store-apps,onenote,Windows Store Apps,Onenote,由于某些原因,我通过新的REST API上载到OneNote的任何文档在从OneNote查看时都已损坏。其他一切正常,但文件(例如Word文档)不可单击,如果您尝试打开,则显示为已损坏 这与字节数组或其内存中出现问题时可能发生的情况类似,但情况似乎并非如此。我使用基本相同的过程将文件字节上载到SharePoint、OneDrive等。只有OneNote的文件似乎已损坏 这里是C语言的简化版本# 是否有人有过通过OneNote API通过Windows应用商店应用程序上载实际二进制文档的想法或工作
using (BinaryReader br = new BinaryReader(stream))
{
byte[] b = br.ReadBytes(Convert.ToInt32(s.Length));
}
其余的代码看起来与上面的代码片段非常相似,总体上对我来说是成功的
<> P>在解决问题的时候还有一些事情要考虑:
- 首先验证附件文件本身没有损坏。例如,是否可以在混合使用OneNote API的情况下打开它
- 验证API返回了201 Http状态代码,并且生成的页面包含附件图标,并允许下载/查看附件
<object data-attachment=\"" + fileName + "\" data=\"name:" + attachmentPartName + "\" />
感谢您用示例代码为我指明了正确的方向!很高兴您能使用它。但是type属性是可选的,我们已经对它进行了测试。它可以使用type属性,也可以不使用type属性。
<object data-attachment=\"" + fileName + "\" data=\"name:" + attachmentPartName + "\" />