Silverstripe 3.1.5 - Upload Error SyntaxError: Unexpected token <

前端 未结 3 1811
广开言路
广开言路 2021-01-14 09:02

I need to Upload .svg files. To do that I added \'svg\' to my config.yml, to the allowed extensions on upload field an to the .htacces in assets/. Also all my assets directo

3条回答
  •  醉梦人生
    2021-01-14 09:48

    Silverstripe (3.1) will not allow you to save a svg file as an Image data type. It may be to do with the PHP GD library (I'm not sure), which the Silverstripe Image class uses.

    Instead, you can save a svg file as a File data type.

    To do this all you need is to add the svg file type to the File allowed_extensions in your yml config file (as you posted in your questions):

    File: 
      allowed_extensions:
        - svg
    

    In your Page or DataObject class add the File relation and set your UploadField:

    private static $has_one = array(
        'SVGFile' => 'File'
    );
    
    public function getCMSFields()
    {
        $fields = parent::getCMSFields();
    
        $fields->addFieldToTab('Root.SVG', UploadField::create('SVGFile', 'SVG File'));
    
        return $fields;
    }
    

    In your page template you can use the file URL to load the svg as you like.

提交回复
热议问题