0

我在 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 时,我在上传字段中收到以下消息:

未找到文件信息

我还需要做什么才能完成这项工作?

4

2 回答 2

1

将以下内容添加到我的_config.php对我有用:

File::$allowed_extensions[] = 'kmz';
File::$allowed_extensions[] = 'kml';
File::$allowed_extensions[] = 'gpx';

我不需要做任何其他事情来允许这些文件类型。上传字段有效并且链接到前端的文件有效。

于 2013-10-02T23:16:27.097 回答
0

此消息表示上传到临时上​​传文件夹失败。您应该检查文件夹是否可写或更改它,请参阅http://www.php.net/manual/en/ini.core.php#ini.upload-tmp-dir

于 2013-10-01T07:05:01.037 回答