GET /services/data/v47.0/sobjects/ContentVersion/0000v00000MFIVgAAP/VersionData
从这个请求中我将获得二进制文件内容,但是如何使用此内容正确地重新创建文件(使用对 POST /services/data/v47.0/sobjects/ContentVersion
的请求)?
我通过 UI 上传了 .docx 并获取其内容。 然后我使用请求上传了该内容:
端点
/服务/数据/v47.0/sobjects/ContentVersion
标题
内容类型:多部分/表单数据;边界=boundary_string 接受:application/json
身体
--boundary_string
Content-Disposition: form-data; name="entity_content";
Content-type: application/json
{"PathOnClient":"MyFile.docx"}
--boundary_string
Content-Type: application/octet-stream
Content-Disposition: form-data; name="VersionData"; filename="MyFile.docx"
Binary data from the request to GET /services/data/v47.0/sobjects/ContentVersion/0000v00000MFIVgAAP/VersionData.
--boundary_string--
上面的请求执行时带有成功状态代码,并且文件已成功创建,但是当我从 UI 下载该文件时,它已损坏:( 请求正文中可能有一些我遗漏的内容(但我不知道到底出了什么问题),因此文件创建损坏。
尝试按照本指南获取分步教程
https://www.appseconnect.com/salesforce-file-upload-api/
它规定了在 Salesforce 中上传文件以及将其分配给帐户或机会等记录的所有步骤,全部通过 REST API 进行。
ContentVersion API 用于创建/上传文件,ContentDocumentLink API 用于将上传的文件分配给记录。
准确遵循上述指南,成功上传文件应该不会有任何问题。