Score:0

การใช้ FileSystemInterface::EXISTS_REPLACE ในแบบฟอร์มเพื่อแทนที่ไฟล์หากมีอยู่แล้ว

ธง cn

ฉันมีแบบฟอร์มที่ตั้งค่าไว้ในเมนูผู้ดูแลระบบที่อนุญาตให้บุคคลอัปโหลดไฟล์ เช่น รูปภาพ ไฟล์นั้นจะถูกใช้ในโมดูลแบบกำหนดเองที่อื่น ฉันต้องการแทนที่ไฟล์นั้นหากพวกเขาอัปโหลดอีกครั้ง ฉันเชื่อว่าฉันสามารถใช้ FileSystemInterface::EXISTS_REPLACE ในแบบฟอร์มให้ดำเนินการ แต่ฉันไม่พบเอกสารเกี่ยวกับวิธีการที่แน่นอน มีตัวอย่างของการดำเนินการนี้หรือไม่? โปรดแจ้งให้เราทราบหากคุณต้องการดูแบบฟอร์มหรือรหัสอื่นๆ แต่เราคิดว่ามันไม่จำเป็น ขอบคุณ!

แก้ไข ฉันเห็นเอกสารบางส่วนจากปีที่แล้วที่บอกว่าไม่สามารถแทนที่ไฟล์ที่อัปโหลดด้วยชื่อเดียวกันได้ ฉันสงสัยว่าสิ่งนี้ยังคงเป็นจริงหรือไม่ ณ เดือนเมษายน 2022

นี่คือตำแหน่งที่อัปโหลดรูปภาพในแบบฟอร์ม:

 $form['upload']['sound_dir'] = [
  '#type' => 'managed_file',
  '#upload_location' => 'สาธารณะ://',
  '#required' => เท็จ
  '#multiple' => เท็จ
  '#description' => t('นามสกุลที่อนุญาต: mp3 wav'),
  '#upload_validators' => [
    'file_validate_extensions' => อาร์เรย์('mp3 wav'),
    'file_validate_size' => อาร์เรย์(25600000)
  ]
  '#title' => t('อัปโหลดไฟล์เสียง:')
  ];

และส่ง:

  ฟังก์ชันสาธารณะ submitForm (อาร์เรย์ &$form, FormStateInterface $form_state) {
    $file_data = $form_state->getValue(['upload' => 'sound_dir']);
    ถ้า ($file_data != null) {
      $file = \Drupal\file\Entity\File::load( $file_data[0], );
      $file_name = $file->getFilename();
      $uri = $file->getFileUri();
      $url = \Drupal\Core\Url::fromUri(file_create_url($uri))->toString();
      $file->setPermanent();
      $file->save();

      $this->configFactory->getEditable(คงที่::SETTINGS)
      ->set('pathToSound', $url)
      ->บันทึก();
      parent::submitForm($form, $form_state);
    }
  }
No Sssweat avatar
ua flag
นี่คือตัวอย่างแพทช์ D9 https://www.drupal.org/files/issues/2020-02-21/deprecated_code-3115151-3.patch

โพสต์คำตอบ

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