Mam problem z przesłaniem pliku graficznego do API. Ogólnie w body do request'u przekazywany jest tylko file i tylko to.
W postmanie plik wysyłany jest poprawnie, więc endpoint działa.
Tak wygląda header :
self.HEADERS = {
'content-type': "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW",
'Accept': "application/json",
'Content-Type': "application/x-www-form-urlencoded",
'cache-control': "no-cache"
}
Tak wygląda metoda, która wysyła do API plik jpg.
def update_client_logo_api(self, client_id):
path = path_to_upload_file_from_folder(asset_link_product)
url = f'{self.URL}{self.CLIENTS}{client_id}/logo'
headers = self.HEADERS
files = {'file': ('6dhh63_B89DD8JE232.jpg', open(path, 'rb'), 'image/jpg')}
response = requests.post(url, headers=headers, files=files)
data = response.json()
return data
W response'ie dostaje informacje, że plik jest wymagany i nie został on przekazany.
{'error': {'message': 'Unprocessable Entity', 'status_code': 422, 'errors': {'file': ['The file field is required.']}}}