[仅限SaaS]{class="badge positive" title="仅适用于Adobe Commerce as a Cloud Service和Adobe Commerce Optimizer项目(Adobe管理的SaaS基础架构)。"}

将文件添加到产品

Adobe Commerce as a Cloud Service支持“文件”产品属性输入类型,允许商家将文件(如PDF、手册、证书和数据表)直接附加到产品。 文件存储在Amazon S3媒体存储中,可通过使用GraphQL的店面或通过REST API的集成访问。

有三种方法可以将文件上传到产品文件属性:

  • 管理员UI — 在产品编辑页面上手动上传文件。
  • REST API — 使用S3预签名URL通过REST API上传文件。
  • 产品导入 — 通过CSV格式提供外部URL批量导入文件。

先决条件

在上载文件之前,必须创建一个文件属性并将其分配给属性集。

通过管理员上传文件

在您创建文件属性并将其分配给属性集后,可以直接从产品编辑页面上传文件。

  1. 在​ 管理员 ​侧边栏上,转到​Catalog > Products

  2. 打开要编辑的产品。

  3. 找到文件属性字段并单击​ Upload ​以选择文件。

管理员中的 上载文件按钮 {width="600" modal="regular"}

  1. 单击​Save

要替换文件,请删除现有文件并上传新文件。 上传的文件存储在Amazon S3介质存储中。

通过REST API上传

使用S3预签名URL流以编程方式通过REST API上载文件。 此过程对产品文件属性的处理方式与对其他媒体类型(如类别图像和客户属性文件)的处理方式相同。

此过程包括四个步骤:

  1. 使用文件名和POST V1/media/initiate-upload调用产品文件属性的media_resource_type
  2. 使用返回的预签名URL直接PUT将文件发送到Amazon S3。
  3. 调用POST V1/media/finish-upload确认上传。
  4. 通过PUT /V1/products/{sku}将返回的密钥分配给产品的文件属性,并将密钥作为自定义属性值传递。

通过产品导入上传

您可以使用导入API或管理员导入UI将文件批量附加到产品。 产品文件属性仅支持从外部URL导入,它遵循与产品图像导入方法2相同的方法。 Commerce从提供的URL下载文件,并将其保存到S3媒体存储中。

NOTE
Adobe Commerce as a Cloud Service不支持从本地服务器路径(方法1)导入文件,因为没有直接的文件系统访问。

在专用列中提供URL

使用属性代码作为CSV列标题,使用完整URL作为值。 例如,如果属性代码为file_upload,则CSV将如下所示:

sku,name,file_upload
ADB112,"My Product",https://example.com/files/manual.pdf

additional_attributes中提供URL

或者,在additional_attributes列中包含file属性:

sku,name,additional_attributes
ADB112,"My Product",file_upload=https://example.com/files/manual.pdf

在这两种情况下,URL都必须可公开访问,并且文件扩展名和大小必须符合配置的限制

通过GraphQL检索文件

在Adobe Commerce as a Cloud Service中,目录服务GraphQL端点提供产品数据。 文件属性显示在attributesProductView字段中,其中value包含文件的完整公共URL:

{
  products(skus: ["ADB112"]) {
    sku
    name
    attributes(roles: []) {
      name
      label
      value
    }
  }
}

响应包括文件属性及其公共URL:

{
  "data": {
    "products": [
      {
        "sku": "ADB112",
        "name": "Example product",
        "attributes": [
          {
            "name": "file",
            "label": "FILE",
            "value": "https://<host>/media/catalog/product_file/manual.pdf",
          }
        ]
      }
    ]
  }
}
NOTE
此查询需要Magento-Website-CodeMagento-Store-View-Code标头。 有关详细信息,请参阅目录服务产品查询

通过REST API检索文件

通过REST API (GET /V1/products/{sku})检索产品时,文件属性出现在custom_attributes数组中,其文件名为值:

{
  "custom_attributes": [
    {
      "attribute_code": "file_upload",
      "value": "manual_7aa0b2d63f6d3dbf.pdf"
    }
  ]
}
recommendation-more-help
29fd6b16-22d9-4d45-b5c9-95c2f0341493