0

我创建了一个公式,用户可以在其中使用文件字段上传图像。在另一个公式中,用户能够更改他之前上传的图像。

到目前为止,我能够让用户上传新图片或让该字段为空并保留现有图像。我的问题是,我如何以一种很好的方式向用户展示他之前与该字段一起上传的文件?设置#default_value(下面的@code)对我没有任何作用。

//$smallimage = fid of image
$form['smallimage'] = array(
  '#type' => 'file',
  '#title' => t('Image'),
  '#default_value' => $smallimage,
  '#description' => t('Upload a file, allowed extensions: jpg, jpeg, png, gif'),
);

编辑:切换回托管文件。我没有将我的文件/图像绑定到的类型,所以我将它们绑定到第一个节点和第一个用户。不是一个干净的解决方案,但它有效。

有没有人没有切换到 managed_file 的解决方案/解决方法?

先感谢您

4

1 回答 1

2

在 Drupal FAPI 上,'#default_value' 不是“文件”类型的有效属性,如果你想在这种情况下使用属性 #default_value,你可以使用

'#type'         => 'managed_file'

你的代码应该是这样的,

$form['file'] = array( 
    '#title'        => t('Upload image'),
    '#type'         => 'managed_file',
    '#description'  => t('Images must be one of jpg, bmp, gif or png formats.'),
    '#default_value' => $fid,  //here you need to provide the file id (get it from database or $file_obj->fid).
    '#upload_location' => 'public://'
);
于 2014-05-07T17:03:58.273 回答