How to attach an image or file to node in Drupal 8 programmatically

Posted by admin on Tue, 01/30/2018 - 09:09

Quick code sample on how to get and attach an image or file to node or other entity programmatically in Drupal 8.

Here's an example how you could save an image to node if you get this with file_get_contents

use \Drupal\node\Entity\Node;
 
// Create file object from remote URL.
$data = file_get_contents('https://www.drupal.org/files/druplicon.small_.png');
$file = file_save_data($data, 'public://druplicon.png', FILE_EXISTS_REPLACE);
 
// Create node object with attached file.
$node = Node::create([
  'type'        => 'article',
  'title'       => 'Druplicon test',
  'field_image' => [
    'target_id' => $file->id(),
  ],
]);
$node->save();

If you have an image already exists in you file system - so you could just attach it without any additional file manipulation.

use \Drupal\node\Entity\Node;
use \Drupal\file\Entity\File;
 
// Create file object from a locally copied file.
$uri  = file_unmanaged_copy('public://source.jpg', 'public://destination.jpg', FILE_EXISTS_REPLACE);
$file = File::Create([
  'uri' => $uri,
]);
$file->save();
 
// Load existing node and attach file.
$node = Node::load(1);
$node->field_image->setValue([
  'target_id' => $file->id(),
]);
$node->save();

And special thanks to Drupal 8 developers - you could easily create an image placeholder!
Just like this:

use \Drupal\node\Entity\Node;
 
$node = Node::create([
  'type'  => 'article',
  'title' => 'Generated image test',
]);
$node->field_image->generateSampleItems();
$node->save();
×

Hey! Don't miss a new cool stuff!

Comments

เว็บคาสิโนออนไลน์ (not verified)

เว็บคาสิโนออนไลน์ The best online casinos in Thailand make good money.

88 (not verified)

88 The best online casinos, slots, football games in Thailand

bunny bunny (not verified)

The best of betting games, baccarat, slots, roulette and many others that you can choose from, easy to use, available 24 hours a day.เว็บ 123

naza55 naza (not verified)

Finally there is entertainment in your spare time, there are over 100 games to choose from. เว็บคาสิโน

NAZA (not verified)

เว็บคาสิโนออนไลน์ We are happy to give advice to both new and old customers. There is a quality team to serve you 24 hours a day with a fast and automatic deposit and withdrawal system.

ราคาบอลสเต็ป (not verified)

If you are looking for a standard online lotto, we recommend the best sites right now.
ราคาบอลสเต็ป

zoom (not verified)

zoom If you are looking for extra income Our website will make you rich easily.

wm casino (not verified)

wm casino naza55 Betting is the most return rate in betting. You can bet in any team that you want to bet. Also, it real live time betting so you cannot miss this bet at all, I gaurantee you

Thana (not verified)

คาสิโนออนไลน์ เว็บพนันออนไลน์ บาคาร่า แทงหวยแทงบอล 123over

Thana (not verified)

บาคาร่า เว็บพนันออนไลน์ คาสิโนออนไลน์ แทงหวยแทงบอล 123over

eo (not verified)

I’ve been exploring for a little for any high quality articles or blog posts on this kind of area . Exploring in Yahoo I at last stumbled upon this website. Reading this info So i’m happy to convey that I’ve a very good uncanny feeling I discovered just what I needed. I most certainly will make sure to don’t forget this website and give it a look regularly. shopify theme

justin (not verified)

Ich kenne einige Leute, die aus Kanadakommen. Eines Tages werde ich auch dorthin reisen Lg Daniela สิวอุดตัน

Lasix (not verified)

Cialis Tarif Pharmacie

justin (not verified)

My wife style of bogus body art were being quite unsafe. Mother worked with gun first, after which they your lover snuck free upon an tattoo ink ink. I was sure the fact just about every should not be epidermal, due to the tattoo ink could be attracted from the entire body. make an own temporary tattoo รักษาสิวผด

justin (not verified)

Hey, just looking around some blogs, seems a pretty nice platform you are using. I’m currently using WordPress for a few of my sites but looking to change one particular of them over to a platform similar to yours as a trial run. Anything in particular you would recommend about it? รักษาสิวอักเสบ

Priligy (not verified)

Canadian Meds Paypal

Agobben (not verified)

http://buyzithromaxinf.com/ - Zithromax

Agobben (not verified)

https://buyzithromaxinf.com/ - Zithromax

Envecehem (not verified)

Lasix

Agobben (not verified)

http://buyzithromaxinf.com/ - Zithromax

Seo (not verified)

Do you mind if I quote a couple of your posts as long as I provide credit and sources back to your website? My blog is in the very same niche as yours and my visitors would genuinely benefit from a lot of the information you provide here. Please let me know if this okay with you. Thank you! China web testing services

NAZA (not verified)

NAZA Online football betting website All included here. Highly stable, able to bet on online football In the form of a tablet computer
If you want Online football betting with us

เว็บพนันออนไลน์ (not verified)

เว็บพนันออนไลน์Baccarat, Slots, And various sports be it Football, Supervised by experts And a professional team for quick deposit-withdrawal All of you can play online.

กติกา บาคาร่า (not verified)

กติกา บาคาร่า is the website that have all the betting in it to answer all the needed for the gambler.

bunny bunny (not verified)

every bet To meet all needs of the gambler with a complete range.คาสิโน

MM79 (not verified)

Igoal Online casino sites With every bet A complete answer to the gambler..

เว็บพนัน (not verified)

เว็บพนัน good pay lots of games

แทงบอลสเต็ป (not verified)

แทงบอลสเต็ป Guide how to earn money from the casino website

สูตรรูเล็ต (not verified)

สูตรรูเล็ตComplete online gambling website.

III7X (not verified)

เว็บนาซ่า Easy to apply for membership, deposit 200, get an additional 100, free deposit-withdraw, no minimum, easy to play, modern auto system. Guarantee safety, betting on football, lottery, slots, complete

bina pink (not verified)

ลิงค์รับทรัพย์ Register for free online baccarat. No need to play Baccarat Poipet, just enter the website and get real money at home. Baccarat online, Baccarat formula is very popular to make money.

เว็บ 88 (not verified)

เว็บ 88
Betting sites do not have to go anywhere. Here, one stop

เว็บนาซ่า (not verified)

เว็บนาซ่า Online gambling has been compiled in this website the best

5678 (not verified)

allbet Center of many online gambling games. Full service 24 hours a day.

สล็อตออนไลน์ (not verified)

สล็อตออนไลน์ The best online casinos in Thailand make good money.

เว็บหวยออนไลน์ (not verified)

cialis side effects with alcohol bbs เว็บหวยออนไลน์

Naza1 (not verified)

sa casino Slots, Football, Lottery, Casino

เว็บนาซ่า (not verified)

เว็บนาซ่า Casino's comprehensive game lobby for all of the entries!

บิงโก (not verified)

บิงโก
บิงโก Bingo. Small investment. Get a lot of money. Play for fun and not get bored. Bingo.

123over (not verified)

Online slots 123 over, popular slot games, all camps, get jackpot often.สล็อต

seo (not verified)

Keep websiteing stuff like this I actually am fond of it Carpet cleaning Belsize Park

คาสิโนออนไลน์ (not verified)

Baccarat, slots and sports Supervised by experts and professional teams for fast deposits - withdrawals คาสิโนออนไลน์

yolo (not verified)

สล็อตออนไลน์
Many good promotions that look for both old and new customers.

NAZA28 (not verified)

เว็บพนันออนไลน์ Online gambling website that allows you to make great money And also allows you to bet 24 hours.

minu (not verified)

สล็อตออนไลน์
When your friend has the amount of play from Our online casino website

naza (not verified)

ราคาบอล Betting is the most return rate in betting.

ss (not verified)

igoal Really easy to play, 100% not cheating.

chrisevan55 (not verified)

I loved as much as you will receive carried out right here. The sketch is attractive, your authored subject matter stylish. nonetheless, you command get bought an edginess over that you wish be delivering the following. unwell unquestionably come more formerly again since exactly the same nearly a lot often inside case you shield this hike. EMF Protectors

royal (not verified)

Thank you because you have been willing to share information with us. we will always appreciate all you have done here because I know you are very concerned with our. joker388

igoal (not verified)

Igoal Online casino sites With every bet A complete answer to the gambler

Add new comment