簡體   English   中英

無法將文件上傳到 REST API

[英]Unable to upload file to REST API

我有這個 cURL 請求,我想將其轉換為 Python 請求代碼。

卷曲內容是

curl -H "X-PrettyPrint: 1" 
     -F 'json={"title":"PandaTest"};type=application/json' 
     -F "fileData=@rename.py;type=application/octet-stream" 
     -X POST https://cs31.salesforce.com/services/data/v39.0/connect/files/users/me 
     -H 'Authorization: 00Dp000000.....CqqU0.S_5r' --insecure

有關請求的更多詳細信息,請查看 SalesForce 文檔,其中包含 HTTP 請求消息 - 此處 搜索部分Upload a file to the Files home

我寫的 Python 計數器部分是

import requests

files = {
            "fileData" : open("rename.py", "rb"),
            "json" : '{"title":"PandaTest"}'
        }

headers = {
              'Authorization': 'OAuth 00Dp00000000u....n3ZGuoZK2wYJRCqqU0.S_5r',
              "Content-Disposition": "form-data 'fileData'"
          }

r = requests.post('https://cs31.salesforce.com/services/data/v39.0/connect/files/users/me/',
                  data=files, headers=headers)
data = json.loads(r.text)

print data

我的請求已成功發送,但出現錯誤Missing expected "fileData" binary parameter 。我感覺我嘗試發送的請求Missing expected "fileData" binary parameter不正確。 我到底哪里錯了?

我有一種感覺,我沒有正確處理 cURL 請求中的 2 -F

這一行:

"fileData" : open("rename.py", "rb"),

正在將“fileName”設置為打開文件時返回的對象。 如果您希望“fileName”成為文件的實際內容,請將該行更改為:

"fileData" : open("rename.py", "rb").read(),

這將讀取文件中的所有字節並將“fileName”設置為它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM