Przesyłanie pliku jpg do API - testy automatyczne

0

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.']}}}

0

Patrzyłeś jak to Postmen wysyła? Bo wygląda, że jednak jest coś nie tak z twoim requestem. Złap sobie fidllerem https://www.telerik.com/fiddler to co leci z postmena i to co leci z twojego kodu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1