我似乎无法保存使用FAPI上传的图像文件。
图像作为托管文件上传,我需要永久保存它们,但它们始终保存在状态为1的数据库中。
知道我做错了什么吗?谢谢,
// FAPI
$form['fieldset_3']['pic_3'] = array(
'#type' => 'managed_file',
'#title' => t('Image'),
'#required' => TRUE,
'#default_value' => variable_get('pic_3'),
'#description' => t('Allowed extensions: gif png jpg jpeg.'),
'#upload_validators' => array(
'file_validate_extensions' => array('gif png jpg jpeg'),
'file_validate_size' => array('MAX_FILE_SIZE' * 1200 * 300),
),
'#theme' => 'image_multifield_multitype',
'#upload_location' => 'public://carousel',
);
//在提交功能
中$file = file_load($form_state['fieldset_1']['pic_1']);
$file = file_save_upload($file->uri,$validators, 'public://carousel/' . $file->filename, FILE_EXISTS_REPLACE);
$file->status = FILE_STATUS_PERMANENT;
file_save($file);
答案 0 :(得分:1)
我的不好,问题是提交处理程序没有被调用...
答案 1 :(得分:0)
通过fid加载图片并将状态设置为永久
$file = file_load($form_state['values']['image_fid']);
$file->status = FILE_STATUS_PERMANENT;
$file_saved =file_save($file);
variable_set('image_fid', $file_saved->fid);