我试图创建一个使用last.fm.节点现在编程方式保存图像从外部URL - Drupal的
$field = content_fields('field_my_image',"events"); //to get field
$validators = array_merge(filefield_widget_upload_validators($field), imagefield_widget_upload_validators($field)); //image validator
$files_path = filefield_widget_file_path($field); //save path
$src_path=$data->image[3]; // img url from last.fm eg: http://userserve-ak.last.fm/serve/252/502025.jpg
$file = field_file_save_file($src_path, $validators, $files_path, FILE_EXISTS_REPLACE);//save file
$nodenew->field_my_image = array(
array(
'fid' => $file['fid'],
'title' => $file['filename'],
'filename' => $file['filename'],
'filepath' => $file['filepath'],
'filesize' => $file['filesize'],
'filemime' => $file['filemime'],
),
);//insert file details to node
节点被创建,但没有图像和获取消息“选定的文件502025.jpg无法保存。该文件不是已知的图像格式。'
欢迎堆栈溢出。祝贺您找到自己问题的答案。请张贴作为一个答案([它的优良回答自己的问题(http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/) ),这让其他人清楚这个问题有答案。如果没有其他答案更有帮助,您也可以将自己的答案标记为已接受。 – Gilles 2012-02-01 13:10:07
更好的答案了在http://stackoverflow.com/q/5129559/1229018 – 2013-02-21 05:42:14