Hi ho liebe Community
Ich darf eine Schnittstelle zwischen einem ERP und Shopware realisieren.
Wie es der Zufall so will, werden auch Bilder und Dokumente über diese Schnittstelle an Shopware übertragen.
Das mit den Bildern konnte ich über den nachfolgenden Link realisieren:
Produkt-Bilder über API hochladen
Da die Dokumente bei mir im Shopware ebenfalls im Media Ordner abgelegt werden, habe ich die Logik der Image-Übertragung kopiert und angepasst. Wie bei den Bildern wird eine Media-Id gelöst, welche ich anschliessen für den Dokumenten Upload nutze. Auch der Dokumenten Upload läuft einwandfrei und ohne Fehlermeldungen durch.
Jedoch ist das hochgeladene Dokument sichtbar aber im falschen mime-Type formatiert. Egal wie ich es drehe und wende, der mime-Type von meinem Test PDF ist immer „text/html“. Ich kriege es einfach nicht hin, dass der mime-Type auf „application/pdf“ wechselt.
.NET Request Beispiel:
var client = new RestClient($„{_ShopwareRestAPIUrl}/api/v3/_action/media/“ + mediaId + „/upload?extension=“ + extension + „&fileName=“ + fileName + „.“ + extension);
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader(„Authorization“, $„Bearer {_ResponseAccessToken.access_token}“);
request.AddHeader(„Content-Type“, „application/json“);
request.AddParameter(„application/json“, „{\r\n "url" : "“ + _ProductMediaUrl + „"\r\n}“, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);