ฉันกำลังพยายามสร้างผลิตภัณฑ์ที่มีรูปภาพผลิตภัณฑ์บน drupal โดยใช้ API ฉันได้สร้างโมดูลที่กำหนดเองสำหรับสิ่งเดียวกันภายใต้รหัสต่อไปนี้เพื่ออัปโหลดรูปภาพของฉันไปยัง Drupal:
$path = base64_decode($encodedData['เนื้อหา']);
$data= $this->grabImage($path);
$file = file_save_data($data, null, FileSystemInterface::EXISTS_REPLACE);
$id = $file->id();
ฉันใช้วิธี file_save_data drupal เพื่ออัปโหลดภาพสำเร็จและได้รับการอัปโหลดไปยังไดเร็กทอรี drupal ต่อไปนี้:
mystore2/web/sites/default/files
ตอนนี้ฉันใช้สิ่งนี้อยู่ $file->id() //พูด 53 ค่าในอาร์เรย์ผลิตภัณฑ์ของฉันเพื่อเชื่อมต่อภาพนี้กับผลิตภัณฑ์ของฉัน
$image['field_picture'] = [[
"target_id" => 53,
"alt" => 'abcd',
"ความกว้าง"=> 224,
"ความสูง"=> 225,
"ชื่อเรื่อง" => '',
"target_type" => "ไฟล์"
]];
ติดตามการตอบสนองที่ฉันได้รับจาก API:
> ข้อความ:
> เอนทิตีที่ไม่สามารถประมวลผลได้: การตรวจสอบล้มเหลว
> field_picture.0: อนุญาตเฉพาะไฟล์ที่มีนามสกุลต่อไปนี้: png gif jpg jpeg.\n
ดังนั้นฉันจะส่งต่อส่วนขยายได้อย่างไร file_save_data()? หรือ ฉันจะเพิ่มรูปภาพนี้ลงในผลิตภัณฑ์ของฉันได้อย่างไร?
ฉันใช้เวอร์ชัน Drupal อยู่ ^9