如何正确使用 REST API 上传 Salesforce 文件?

问题描述 投票:0回答:1

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 下载该文件时,它已损坏:( 请求正文中可能有一些我遗漏的内容(但我不知道到底出了什么问题),因此文件创建损坏。

rest api salesforce salesforce-lightning
1个回答
0
投票

尝试按照本指南获取分步教程

https://www.appseconnect.com/salesforce-file-upload-api/

它规定了在 Salesforce 中上传文件以及将其分配给帐户或机会等记录的所有步骤,全部通过 REST API 进行。

ContentVersion API 用于创建/上传文件,ContentDocumentLink API 用于将上传的文件分配给记录。

准确遵循上述指南,成功上传文件应该不会有任何问题。

© www.soinside.com 2019 - 2024. All rights reserved.