0

尝试在十月 CMS 下创建一个组件,该组件应允许前端多个文件上传。我尝试将 Blueimp jQuery-File-Upload Plugin 集成到已经退出的表单中,因为 October CMS 使用集成的 ajax 框架,它允许将数据提交到组件方法我会使用这个 ajax 方法而不是 Blueimp 的默认方法

所以一个正常的文件上传看起来像

$('#gallery').fileupload({
    // Uncomment the following to send cross-domain cookies:
    //xhrFields: {withCredentials: true},
    url: 'path/to/controller'

});

但相反,我想使用类似的东西

$('#gallery').fileupload({
    // Uncomment the following to send cross-domain cookies:
    //xhrFields: {withCredentials: true},
    add: function (e, data) {
        data.submit();
        $.request('onUploads', {

            success: function(data){
                console.log(data);

            }
        })
    }

});
4

1 回答 1

0

您需要使用OctoberCMS 位于其之上的 Laravel的Request 类。基本上你去你的布局文件的代码部分并添加

function onUploads()
{
    // Get the file
    $file = Request::file('somefile');

    // Code to do something with it
    // enter code here
}

根据您要实现的目标,您可以编写适当的代码来上传它。例如,在我的社交登录插件中,我使用此类的方法从所选社交网络中获取照片,并在插件的社交模型和上传的文件之间创建关系,以便前端用户可以将照片作为显示照片输出到他们的网络应用程序。

另一种好方法是通过执行类似的操作直接将其上传到主题目录,Request::file('somefile')->move(app_path() . '/themes/yourtheme/assets/uploads/');但随后您将需要添加代码以限制上传大小并修复文件名。如果您特别需要帮助来实现某些目标,请随时发表评论。格力高频

于 2015-04-02T20:54:40.883 回答