首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Elgg中上传图像

如何在Elgg中上传图像
EN

Stack Overflow用户
提问于 2020-04-12 16:19:04
回答 1查看 57关注 0票数 0

我一直试图在Elgg 3.x中保存一个Elgg 实体图标,但没有成功。myObject保存到数据库中,但是文件不会上传。

我做错了什么?

先谢谢大家。

save.php form

代码语言:javascript
复制
<?php
    echo elgg_view('input/file', [
        'name' => 'upload[]',
        'multiple' => true,
        'label' => 'picTuREs',
    ]);
?>  

save.php动作文件

代码语言:javascript
复制
foreach (elgg_get_uploaded_files('upload') as $upload)
{
    $myObject = new ElggObject();
    $myObject->subtype = "my_object";
    $myObject->access_id = ACCESS_PUBLIC;

    $myObject->saveIconFromUploadedFile($upload);

    $myObject->save();
}  
EN

回答 1

Stack Overflow用户

发布于 2022-05-26 17:33:18

更新您在以下方面的行动:

代码语言:javascript
复制
$upload_guids = (array) get_input('uploads');

if (empty($upload_guids)) {
    return elgg_error_response(elgg_echo('file:error:empty_form'));
}

foreach ($upload_guids as $upload_guid) {
    $file = new \ElggFile();
    
    $file->title = $title;
    $file->description = $description;
    $file->access_id = $access_id;
    $file->container_guid = $container_guid;
    $file->tags = string_to_tag_array($tags);

    $file->save();
    
    if ($file->getSimpleType() === 'image') {
        $file->saveIconFromElggFile($file);
    }
} 

如果使用自定义子类型,则应该通过这个对象扩展\ElggFile,如下所示:

代码语言:javascript
复制
class MyCustomFile extends \ElggFile {
    
    const SUBTYPE = 'my_subtype';
    
    protected function initializeAttributes() {
        parent::initializeAttributes();

        $this->attributes['subtype'] = self::SUBTYPE;
    }
    
    /**
     * @see ElggEntity::saveIconFromElggFile()
     */
    public function saveIconFromElggFile(\ElggFile $file, $type = 'icon', array $coords = array()) {
        return false;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61174541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档