追記:
続き書きました。
FuelPHPで画像を選択、表示、範囲選択、アップロード、切り取った画像の表示を画面遷移なしでやる
http://madroom-project.blogspot.jp/2013/06/httpmadroom-project.html
--
今回はFuelPHPはあまり関係ありませんが、続きとして書く(予定)の記事で関係するので。。。
続き書きました。
FuelPHPで画像を選択、表示、範囲選択、アップロード、切り取った画像の表示を画面遷移なしでやる
http://madroom-project.blogspot.jp/2013/06/httpmadroom-project.html
--
今回はFuelPHPはあまり関係ありませんが、続きとして書く(予定)の記事で関係するので。。。
classes/controller/file.php
<?php class Controller_File extends Controller { public function action_index() { return Response::forge(View::forge('file/index')); } public function action_upload() { // TODO: 実際にはtokenも送信してチェックすべき return print_r($_FILES, true); } }views/file/index.php
<!DOCTYPE html> <html lang="en"> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> </head> <body> <input id="file" type="file" /> <button id="upload" disabled="disabled">Upload</button> <script> var file; $('#file').change(function(e) { file = e.target.files[0]; $('#upload').attr('disabled', false); }); $("#upload").click(function() { $(this).attr('disabled', true); var formData = new FormData(); formData.append('file', file); $.ajax({ url: '<?php echo Uri::create('/file/upload'); ?>', type: 'post', data: formData, processData: false, contentType: false, success: function(res) { console.log(res); } }); }); </script> </body> </html>試しにファイルを選択してアップロードボタンを押してコンソールを確認すると
非同期にアップロードされているのがわかります。
冒頭で書いた"続き"は
* 選択したファイル(画像)を表示
* 切り取る(範囲選択する)
* アップロードボタンを押す
* FuelPHP側で選択範囲で切り取って表示
みたいな内容(のはず)です。
P.S.
上記の内容はWin/MacのChromeで確認しています。IE9では動かないっぽいです。
No comments:
Post a Comment