首页 > 解决方案 > QBO Dataservice 图片上传

问题描述

我想将图像附件上传到 Quickbooks Online 并使用我的 Windows 窗体应用程序将其附加到项目。我正在使用 DataService 类,我的连接工作正常。我创建了 Attachable 对象并将图像数据加载到 MemoryStream 中。当我运行该DataService.Upload()方法时出现问题,新附件是在 QBO 中创建的,就像预期的那样,但是没有图像并且大小为 0: 在此处输入图像描述

我安装了Fiddler来获取请求,如下:

--51678f9d-94b1-4bbc-83fb-7620b6c9c363
Content-Disposition: form-data; name="file_metadata_0"
Content-Type: application/xml

<?xml version="1.0"?>
<Attachable xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schema.intuit.com/finance/v3">
  <AttachableRef>
    <EntityRef type="Item">29</EntityRef>
  </AttachableRef>
  <FileName>Image.jpg</FileName>
  <ContentType>image/jpeg</ContentType>
</Attachable>
--51678f9d-94b1-4bbc-83fb-7620b6c9c363
Content-Disposition: form-data; name="file_content_0"; filename="Image.jpg"
Content-Type: image/jpeg
Content-Transfer-Encoding: binary


--51678f9d-94b1-4bbc-83fb-7620b6c9c363

在底部,Content-Transfer-Encoding设置为二进制,没有编码数据。有人对此有解释吗?

如果我使用Convert.ToBase64String(ms.ToArray)并将结果字符串复制到 Postman 并Content-Transfer-Encoding设置为“base64”,那么一切都会像预期的那样工作。

标签: vb.netwinformsquickbooks-onlinedataservice

解决方案


推荐阅读