我创建了一个公式,用户可以使用文件字段上传图像。在另一个公式中,用户可以更改先前上传的图像。
到目前为止,我能够让用户上传新图片或让字段为空,并保留现有图片。我的问题是,如何以一种很好的方式向用户显示他之前使用该字段上传的文件?设置#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?
提前谢谢
答案 0 :(得分: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://'
);