How to set value of file field with entity_metadata_wrapper
Well I just found out a simpler and less ugly looking way to set image.

$image_file = A FILE OBJECT; //Lot of choices here : new stdClass(), file_load, etc
$wrapper-&gt;FIELD_NAME-&gt;file-&gt;set($image_file);


Just as taxonomy or node/entity reference, the file field name point on a loaded object, thats how I find out.



:: EDIT a posteriori ::

Here how I would have do it with OP question.

// Get the file
$file = file_save_data(file_get_contents('/my_local_path/img1.jpg'), 'public://remote_name.jpg');

// Wrap' it like one of your French girls
$wrapper = entity_metadata_wrapper('node', $node);

// And set the photo
$wrapper-&gt;field_photo-&gt;file-&gt;set($file);

// And save the node
$wrapper-&gt;save();