1

我似乎无法保存使用 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);  
4

2 回答 2

1

我的错,问题是提交处理程序没有被调用......

于 2013-02-20T12:27:33.273 回答
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);
于 2018-06-25T08:44:26.113 回答