我在Silverstripe 3中设置了一个网站,并且在将KMZ / KML文件上传到CMS时遇到了一个奇怪的问题。
最终目标是允许CMS用户将多个KMZ / KML / GPX文件上传到页面。然后,这些文件将在Google地图上显示为路线。
这是has_many声明:
static $has_many = array(
'RouteFiles' => 'File'
);
这是getCMSFields代码:
$routeFilesField = new UploadField('Route Files', 'Upload GPX/KMZ/KML files for your proposed route.', $this->RouteFiles());
$routeFilesField->getValidator()->allowedExtensions = array('kmz', 'kml', 'gpx');
$fields->addFieldToTab('Root.Map', $routeFilesField);
我已将扩展名添加到 /assets/.htaccess 文件的FilesMatch部分。
当我将KMZ或KML文件上传到CMS时,我在上传字段中收到以下消息:
找不到文件信息
我需要做些什么来使这项工作?
答案 0 :(得分:1)
将以下内容添加到我的_config.php
对我有用:
File::$allowed_extensions[] = 'kmz';
File::$allowed_extensions[] = 'kml';
File::$allowed_extensions[] = 'gpx';
我没有做任何其他事情来允许这些文件类型。上传字段工作并链接到前端文件工作。
答案 1 :(得分:0)
此消息表示上传到临时上传文件夹失败。您应该检查文件夹是否可写或更改,请参阅http://www.php.net/manual/en/ini.core.php#ini.upload-tmp-dir