hashmode/cakephp-jquery-file-upload

Cakephp 3.x Jquery File Upload

安装次数: 2,700

依赖者: 0

建议者: 0

安全: 0

星标: 7

关注者: 2

分支: 5

开放问题: 3

类型:cakephp-plugin

v1.0.3 2016-08-02 08:36 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:42:18 UTC


README

这是一个用于 blueimp jquery 文件上传小部件的 Cakephp 3.x 供应商/插件 https://github.com/blueimp/jQuery-File-Upload

要求

  1. Cakephp 3.x
  2. Blueimp Jquery File Upload - https://github.com/blueimp/jQuery-File-Upload(依赖已添加到插件的 composer 中,因此将自动安装)

安装

1) 通过 composer 进行安装:将以下内容添加到您的 main composer.json 中的 require 部分,然后运行 composer update

"hashmode/cakephp-jquery-file-upload": "~1.0"

要使用原始库中的 css 和 js 文件,它们将被复制到插件的 webroot 目录中:为此,在您的应用程序的 main composer.json 中应添加以下内容

"scripts": {
    "post-update-cmd": "CakephpJqueryFileUpload\\Console\\Installer::postUpdate"
},

2) 从 bootstrap 中加载插件,并将组件添加到控制器、助手 - 到 AppView

// bootstrap.php
Plugin::load('CakephpJqueryFileUpload');

// inside your controller's initialize
$this->loadComponent('CakephpJqueryFileUpload.JqueryFileUpload');

// inside AppView.php initialize
$this->loadHelper('CakephpJqueryFileUpload.JqueryFileUpload');

3) 要将 UploadHelper 类添加到 autoload classmap 中,请将以下内容添加到您的 main composer - 在 autoload 下,与 psr-4 同级

"classmap": [
	"vendor/blueimp/jquery-file-upload/server/php"
]        

并运行 composer dump-autoload

4) 简单设置示例

<?php echo $this->JqueryFileUpload->loadCss(); ?>
<?php echo $this->JqueryFileUpload->loadScripts(); ?>

<span class="btn btn-success fileinput-button">
    <i class="glyphicon glyphicon-plus"></i>
    <span>Select files...</span>
    <!-- The file input field used as target for the file upload widget -->
    <input id="fileupload" type="file" name="files[]" multiple>
</span>

<script type="text/javascript">
$(function () {

    // Initialize the jQuery File Upload widget:
    $('#fileupload').fileupload({
        // Uncomment the following to send cross-domain cookies:
        //xhrFields: {withCredentials: true},
        url: '/myController/myAction'
    });
    
});
</script>

在您的 myAction

// example options
$options = array(
    'max_file_size' => 2048000,
    'max_number_of_files' => 10,
    'access_control_allow_methods' => array(
        'POST'
    ),
    'access_control_allow_origin' => Router::fullBaseUrl(),
    'accept_file_types' => '/\.(jpe?g|png)$/i',
    'upload_dir' => WWW_ROOT . 'files' . DS . 'uploads' . DS,
    'upload_url' => '/files/uploads/',
    'print_response' => false
);

$result = $this->JqueryFileUpload->upload($options);

有关完整的 $options 信息,请参阅 https://github.com/blueimp/jQuery-File-Upload

许可证

MIT