Produkt-Bilder über API hochladen?

Hey,
Hier mal meine Erfahrungen mit den Vorgestellten Lösungen:
Die Lösung von canetti2klappt nur für URLs die Außerhalb des eigenen privaten Netzwerkes liegen. Uploads von Servern mit IP-Adressen wie 192.168.XXX.XXX oder 10.0.XX.XXX werden mit der Fehlercode: CONTENT__MEDIA_ILLEGAL_URL abgewießen. Das ganze passiert aufgrund der Klasse
FileUrlValidator, welche die angegebenen URLs prüft.

Dazu mal eine Frage: Gibt es eine Möglichkeit um Bilder per API von lokalen URLs hochzuladen? Wenn nicht, sei mir bitte folgende naive Frage gestattet: Warum nicht?

Für alle die Bilder von ihrem lokalen Filesystem mithilfe der API hochladen wollen gibt es folgende Möglichkeit:

  1. (siehe Lösung canetti2)

POST an media?_response=true
Request Payload: die mediaFolderId, in der ich das Bild speichern möchte:

{“mediaFolderId”:“cef84bd4991c4055a7b02388dc49ca70” }

Als Response erhält man dann die neu erzeugte media-ID

Unter Angabe der neuen media-ID ein zweiter POST an /api/v2/_action/media/media-ID/upload?extension=jpg&fileName=bildname
mit Content-Type: image/jpeg und als Payload die binären Daten des Bildes.
CURL-Beispiel:

curl -H "Content-Type: image/jpeg" -H "Authorization: Bearer 1234" -request POST --data-binary "@./beispiel.jpg" "localhost/api/v2/_action/media/media-id/upload?extension=jpg&fileName=amah"