我正在尝试基于自定义表单提交创建一个节点。除了上传的图像外,一切都很好。
我可以很好地捕获它们并将它们设置在表单对象缓存中。当我将数据传递给函数以创建节点时,我收到此错误:
“无法复制指定的文件,因为不存在该名称的文件。请检查您提供的文件名是否正确。”
尽管一次只提交一两张图片,我也多次收到错误。
这是我正在使用的代码。$uploads 被传入,是上一步中从 file_save_upload() 返回的文件对象数组:
if (isset($uploads)) {
foreach ($uploads as $upload) {
if (isset($upload)) {
$file = new stdClass;
$file->uid = 1;
$file->uri = $upload->filepath;
$file->filemime = file_get_mimetype($upload->uri);
$file->status = 1;
$file = file_copy($file, 'public://images');
$node->field_image[$node->language][] = (array) $file;
}
}
}
node_save($node);
我也试过这个:
if (isset($uploads)) {
foreach ($uploads as $upload) {
$upload->status = 1;
file_save($upload);
$node->field_image[$node->language][] = (array) $upload;
}
}
}
node_save($node);
第二个导致 MySQL 中 URI 字段的重复键错误。我在教程中看到了这两个示例,但都没有工作?