Puncte:0

Cum setați extensia fișierului în timp ce încărcați imagini prin file_save_data?

drapel th

Încerc să creez un produs cu o imagine de produs pe drupal folosind API. Am creat un modul personalizat pentru același cod în care să îmi încarc imaginea în Drupal:

$cale = base64_decode($encodedData['conținut']);
$date= $this->grabImage($cale);
$file = file_save_data($date, null, FileSystemInterface::EXISTS_REPLACE);
        
$id = $fișier->id();

Folosesc metoda file_save_data drupal pentru a încărca cu succes imaginea și este încărcată în următorul director drupal:

mystore2/web/sites/default/files

Acum, folosesc asta $fișier->id() //spune 53 valoare din matricea mea de produse pentru a conecta această imagine la produsul meu.

$image['field_picture'] = [[
    "target_id" => 53,
    "alt" => 'abcd',
    „lățime” => 224,
    „înălțime” => 225,
    "title" => '',
    "target_type" => "fișier"
]];

Urmăriți răspunsul pe care îl primesc de la API:

> mesaj:
> Entitate neprocessabilă: validarea a eșuat.
> field_picture.0: sunt permise numai fișierele cu următoarele extensii: png gif jpg jpeg.\n

Deci, cum pot trece extensia în file_save_data()? Sau cum pot adăuga această imagine la produsul meu?

Folosesc versiunea Drupal ^9.

Puncte:0
drapel cn

Trebuie să transmiteți calea fișierului, inclusiv numele și extensia acestuia, ca $destinatie parametru:

$file = file_save_data($date, 'public://path/to/file.ext', FileSystemInterface::EXISTS_REPLACE);
sonfd avatar
drapel in
Unde `path/to/file.ext` este orice ați dori să fie (deși cu siguranță doriți să fiți atenți dacă utilizați opțiunea `FileSystemInterface::EXISTS_REPLACE`).

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.