Score:0

คุณจะตั้งนามสกุลไฟล์ขณะอัปโหลดรูปภาพผ่าน file_save_data ได้อย่างไร

ธง th

ฉันกำลังพยายามสร้างผลิตภัณฑ์ที่มีรูปภาพผลิตภัณฑ์บน 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

Score:0
ธง cn

คุณต้องส่งเส้นทางของไฟล์ รวมถึงชื่อและนามสกุลของไฟล์เป็น $ปลายทาง พารามิเตอร์:

$file = file_save_data($data, 'สาธารณะ://path/to/file.ext', FileSystemInterface::EXISTS_REPLACE);
sonfd avatar
in flag
โดยที่ `path/to/file.ext` คือสิ่งที่คุณต้องการ (แม้ว่าคุณจะต้องการทราบอย่างแน่นอนหากคุณใช้ตัวเลือก `FileSystemInterface::EXISTS_REPLACE`)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา