2012-05-06 24 views
4

私はblueimpのjQueryファイルアップロードを取得しようとしています。Cakephpで作業しています。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". 

これは理由がありますか?

答えて

5

最初に、すべての必要なjsとcssファイルをwebrootディレクトリに置きます。

場所jsファイルはwebroot/js/jquery_file_upload /に、CSSはwebroot/css/jquery_file_uploadの内側に配置してください。

UploadHandlerという1つのベンダーディレクトリを作成します。このディレクトリ内にコピーUploadHandler.phpをコピーします。

ほとんど完了しました。

以下の手順に従います。

  • hereからダウンロードしたファイルコピーの貼り付けサンプルコードです。それぞれのjsとcssファイルに正しいパスを与えることを忘れないでください。ファイル入力タイプの名前がファイル[]であることを確認してください。
  • は実際の魔法が起こる1つのコントローラーアクションを作成しました。コードをコピーしてパスをコピーし、必要に応じてパスを定義します。
<?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; 
    } ?>

私は成功し、2時間を費やして、それをテストした後にそれを行っています。

これにデータベースを統合することもできます。

気軽にもっと質問してください。

これがあなたと他のプログラマーの兄弟に役立つことを願っています。

最初の手順で説明したリンクからサンプルコードをダウンロードします。

jsとcssファイルを必要に応じて配置しますが、cakephpの規則に従ってWebルートに配置してください。

乾杯。

関連する問題