gpt4 book ai didi

java - 如何使用 JVM API 自动将图像上传到 commercetools

转载 作者:行者123 更新时间:2023-12-02 12:02:03 25 4
gpt4 key购买 nike

我是 CommerceTools 的一名相当新的开发人员,我使用该工具才几个星期。

目前,我需要开发一个流程,该流程应该能够使用 JVM API 将与产品相关的所有图像从文件夹上传到 commercetools。

我认为最好的方法是从CTP数据库中恢复每个产品的SKU(例如PROD001ABC),然后使用该字符串在给定文件夹中定位是否存在文件名中包含此类SKU的图像(PROD001ABC_front.jpg 、PROD001ABC_side1.jpg、PROD001ABC_side2.jpg 等)。找到所有产品图片后,我想使用 API 将它们上传到 CommerceTools。

根据我的研究,我认为我必须使用 io.sphere.sdk.products.commands.ProductImageUploadCommand方法,但我不确定如何达到这一点。

我真的迷路了。

非常感谢您的帮助

最诚挚的问候。米格尔

最佳答案

基本上你需要做的是创建一个HttpClient,然后使用这个客户端来执行图片上传命令,更具体的看一下this test senario以下是 commercetools JVM SDK 的典型用途:

        //create client
SphereClientConfig sphereClientConfig = SphereClientConfig.of( projectKey, clientId, clientSecret);
SphereClient client = SphereClient.of(sphereClientConfig, SphereClientFactory.of().createHttpClient(), SphereAccessTokenSupplier.ofConstantToken("accessToken"))
final ByIdVariantIdentifier identifier = product.getMasterData().getStaged().getMasterVariant().getIdentifier();
File imageFile = new File("Path to your image");

//create update commands
final ProductImageUploadCommand cmd1 = ProductImageUploadCommand
.ofVariantId(imageFile, identifier)
.withFilename("myProductImage1.gif")
.withStaged(true);
final ProductImageUploadCommand cmd2 = ProductImageUploadCommand
.ofVariantId(imageFile, identifier)
.withFilename("myProductImage2.gif")
.withStaged(true);

//update the product
final Product updatedProduct1 = client().executeBlocking(cmd1);
final Product updatedProduct = client().executeBlocking(cmd2);

//get the images
List<Image> images = updatedProduct.getMasterData().getStaged().getMasterVariant().getImages();

希望这有帮助:)

关于java - 如何使用 JVM API 自动将图像上传到 commercetools,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47177260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com