###前提・実現したいこと
CakePHP2とDropZone.jpでドラッグ&ドロップによるファイルアップロードを実現したいです。
CakePHPのバージョンは2.8.3です。
###発生している問題・エラーメッセージ
https://teratail.com/questions/31031
こちらを参考に作成し、レスポンスも200が返ってきていますが、
ファイルがアップロードされません。
アップロードディレクトリのパーミッションは777に変更しています。
ご教授のほどよろしくお願いいたします。
###該当のソースコード
/app/View/UpFiles/index.ctp
PHP
1<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 2<?php 3 echo $this->Html->css('dropzone'); 4 echo $this->Html->script('dropzone'); 5?> 6<script> 7$(function(){ 8 9 Dropzone.autoDiscover = false; 10 11 Dropzone.options.myAwesomeDropzone = { 12 paramName : "file", // input fileの名前 13 parallelUploads:1, // 1度に何ファイルずつアップロードするか 14 addRemoveLinks: true, 15 acceptedFiles:'image/*', // 画像だけアップロードしたい場合 16 maxFiles:10, // 1度にアップロード出来るファイルの数 17 maxFilesize:0.5, // 1つのファイルの最大サイズ(1=1M) 18 dictFileTooBig: "ファイルが大きすぎます。 ({{filesize}}MiB). 最大サイズ: {{maxFilesize}}MiB.", 19 dictInvalidFileType: "画像ファイル以外です。", 20 dictMaxFilesExceeded: "一度にアップロード出来るのは10ファイルまでです。", 21 }; 22 // urlは実際に画像をアップロードさせるURLパスを入れる 23 var myDropzone = new Dropzone("div#my-awesome-dropzone",{url:"<?php echo $this->Html->url(array('controller' =>'UpFiles','action' => 'upload')); ?>"}); 24 25}); 26</script> 27 28<div id="my-awesome-dropzone" class="dropzone"></div> 29
/app/Controller/UpFilesController.php
PHP
1<?php 2 3App::uses('AppController', 'Controller'); 4 5class UpFilesController extends AppController { 6 7 public $uses = array('UpFile'); 8 9 public function index() 10 { 11 } 12 13 public function upload() 14 { 15 $file = $this->request['file']; 16 $ds = DIRECTORY_SEPARATOR; 17 18 $storeFolder = 'uploads'; 19 20 if(!empty($file)) 21 { 22 $tempFile = $file['tmp_name']; 23 $targetPath = WWW_ROOT . 'uploads' . $ds; 24 $targetFile = $targetPath.$file['name']; 25 move_uploaded_file($tempFile, $targetFile); 26 } 27 } 28}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/21 05:47
2016/06/21 05:50
2016/06/22 04:21 編集
2016/06/22 08:39
2016/06/23 02:37