尝试在10月CMS下创建一个组件,该组件应该允许前端多个文件上载。我尝试集成已经退出的形式的Blueimp jQuery-File-Upload插件,因为10月CMS使用集成的ajax框架,它允许数据提交到Component方法我会使用这个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);
}
})
}
});
答案 0 :(得分:0)
您需要使用OctoberCMS所在的Request class from Laravel。基本上,您转到布局文件的代码部分并添加
function onUploads()
{
// Get the file
$file = Request::file('somefile');
// Code to do something with it
// enter code here
}
根据您要实现的目标,您可以编写适当的代码来上传它。例如,在my Social Login plugin中,我使用this class的方法从所选社交网络中获取照片,并在插件的社交模型和上传的文件之间创建关系,以便前端用户可以将照片输出为在他们的网络应用中显示照片。
另一个好方法是通过执行类似Request::file('somefile')->move(app_path() . '/themes/yourtheme/assets/uploads/');
的操作直接将其上传到主题目录中,但是您需要添加代码来限制上传大小并修复文件名。如果您在实现某些目标方面需要帮助,请随时发表评论。 gl hf