我的应用程序使用silverstripe来管理大量文件的下载/访问以及一些相关的元数据。
一个要求是文件可以通过API从外部访问。我已经设置了Restfulserver模块(https://packagist.org/packages/silverstripe/restfulserver)来完成此任务。
并扩展了文件模型以允许静态访问:
class FileExtension extends DataExtension
{
...
private static $api_access = true;
...
}
这使我可以使用GET毫无问题地下载并下载文件:
silverstripe/public/api/v1/Silverstripe-Assets-File/(ID)
这会给我必要的数据,以击中资产/ {hash} /(fileName)并下载文件。
但是它似乎没有给我发布文件的方法。在此处过帐仅创建一个File记录,但资产文件夹中没有随附文件。手动将文件拖放到文件夹中不起作用,因为记录未引用该文件并且该文件没有关联的哈希。
那么如何在没有页面控制器的情况下上传文件?