jQuery文件上传Cakephp

Joh*_*Kim 4 jquery cakephp file-upload

我正在尝试让blueimp的jQuery文件上传与Cakephp一起使用.

一切都很好,除了我似乎在尝试删除已上传的内容时遇到问题.当我点击特定文件上的删除时,我在控制台中收到以下错误.

DELETE http://example.com.au/app/webroot/?file=logo%20%285%29.gif 404 (Not Found)
jquery.min.js:4XHR finished loading: "http://example.com.au/app/webroot/?file=logo%20%285%29.gif".
Run Code Online (Sandbox Code Playgroud)

有没有理由发生这种情况?

Dip*_*mar 5

首先将所有必要的js和css文件放在webroot目录中.

将它们放在任何需要的位置,例如将web内容js文件放在webroot/js/jquery_file_upload /和webssot/css/jquery_file_upload中的css中.

现在创建一个名为UploadHandler的供应商目录.在此目录中复制粘贴UploadHandler.php.

现在你快完成了.

现在按照以下步骤.

  • 在视图文件中复制粘贴示例代码,您已从此处下载.别忘了给每个js和css文件提供正确的路径,并在表单中确保文件输入类型的名称是files [].
  • 现在创建了一个控制器动作,其中将发生真正的魔法.复制粘贴代码并定义路径作为您的要求.
<?php
class ServicePicturesController extends AppController {

    var $name = 'ServicePictures';

    function upload()
    {
        $this->layout = "ajax";
        App::import('Vendor','UploadHandler',array<'file' => 'UploadHandler/UploadHandler.php'));

        $options = array
        (
            'script_url' => SITE_URL.'service_pictures/upload/',
            'upload_dir' => APP.WEBROOT_DIR.DS.'img'.DS.'offer_picture'.DS,
            'upload_url' => SITE_URL.'img/offer_picture/',
            'max_number_of_files' => 3,
            'thumbnail' => array
            (
                'max_width' => 150,
                'max_height' => 150
            )
        );

        $upload_handler = new UploadHandler($options, $initialize = false);
        switch ($_SERVER['REQUEST_METHOD'])
        {
            case 'HEAD':
            case 'GET':
                $upload_handler->get();
                break;
            case 'POST':
                $upload_handler->post();
                break;
            case 'DELETE':
                $upload_handler->delete();
                break;
            default:
                header('HTTP/1.0 405 Method Not Allowed');
        }
        exit;
    } ?>
Run Code Online (Sandbox Code Playgroud)

我花了2个小时测试后成功完成了.

您还可以将数据库集成到此中.

随意问更多.

希望这会对你和其他程序员兄弟有所帮助.

从以下步骤中的第一步中提到的链接下载示例代码.

将js和css文件放在您想要的位置,但将其放在webroot中以获得cakephp约定.

干杯.