我正在尝试将图像作为二进制MIME附件上传到ebays api UploadSiteHostedPictures。我一直收到以下错误:上传的图片具有不受支持的文件格式。图像是jpg,但是我尝试了png,但也没有用。
我已经阅读了ebay知识库中的Java和C#示例,但我不明白我要去哪里。
这是我要传递图像文件的地方。
journalctl --since today -u gunicorn -f
标题
List<int> imageBytes = imageFile.readAsBytesSync();
String base64Image = base64Encode(imageBytes);
身体
Map<String, String> uploadPictureHeader = {'X-EBAY-API-CALL-NAME': 'UploadSiteHostedPictures', 'X-EBAY-API-SITEID': '0', 'X-EBAY-API-RESPONSE-ENCODING': 'XML',
'X-EBAY-API-COMPATIBILITY-LEVEL': '967', 'X-EBAY-API-DETAIL-LEVEL': '0', 'Cache-Control': 'no-cache',
'Content-Type': 'multipart/form-data; boundary=FormBoundary7MA4YWxkTrZu0gW'};
拨打电话
String requestUploadedSiteHostedPicture = '''--FormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="XML Payload"
<?xml version="1.0" encoding="utf-8"?>
<UploadSiteHostedPicturesRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<RequesterCredentials>
<eBayAuthToken >$userTokenOAuth</eBayAuthToken>
</RequesterCredentials>
<PictureName>Vase</PictureName>
<PictureSet>Standard</PictureSet>
<ExtensionInDays>20</ExtensionInDays>
</UploadSiteHostedPicturesRequest>
--FormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="Vase"; filename="Vase.jpg"
Content-Transfer-Encoding: base64
$base64Image
--FormBoundary7MA4YWxkTrZu0gW--''';
我也使用在线二进制转换器来转换图像,但是那也不起作用。非常感谢您的帮助。