TwitterやInstagramのように、アカウントを作成する際のプロフィール画像をアップロードの
画像が表示される円をタップ⇒ファイルから画像を選択(一時アップロード?)⇒1:1にトリミング⇒円で表示されていることを確認⇒アップロード
というのを作りたいと思っています。
使用するもの
jQuery-File-Upload-10.31.0
Croppie
(一応PHPも?)
現在
htmlはこのような感じです。
profile.html
html
1<meta http-equiv="X-UA-Compatible"content="IE=edge"/> 2<meta http-equiv="content-type"content="text/html; charset=UTF-8"/> 3<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"name="viewport"/> 4 5<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 6<script src="//blueimp.github.io/jQuery-File-Upload/js/vendor/jquery.ui.widget.js"></script> 7<script src="//blueimp.github.io/jQuery-File-Upload/js/jquery.iframe-transport.js"></script> 8<script src="//blueimp.github.io/jQuery-File-Upload/js/jquery.fileupload.js"></script> 9<script src="//blueimp.github.io/JavaScript-Load-Image/js/load-image.all.min.js"></script> 10<script src="//blueimp.github.io/jQuery-File-Upload/js/jquery.fileupload-process.js"></script> 11<script src="//blueimp.github.io/jQuery-File-Upload/js/jquery.fileupload-image.js"></script> 12<script src="croppie.js"></script> 13<link rel="stylesheet" href="croppie.css"> 14 15<script> 16 $(function() { 17 var url = "..."; // ※ファイルをアップロードする URL 18 $('#fileupload').fileupload({ 19 url: url, 20 dataType: 'json', 21 autoUpload: true, // ※ファイルを選択したら、即、アップロード 22 acceptFileTypes: /(.|/)(gif|jpe?g|png)$/i, 23 maxFileSize: 5000000, // 5 MB 24 // Enable image resizing, except for Android and Opera, 25 // which actually support image resizing, but fail to 26 // send Blob objects via XHR requests: 27 disableImageResize: /Android(?!.*Chrome)|Opera/ 28 .test(window.navigator.userAgent), 29 previewMaxWidth: 100, 30 previewMaxHeight: 100, 31 previewCrop: true 32 }).on('fileuploadadd', function (e, data) { 33 data.context = $('<div/>').appendTo('#files'); 34 $.each(data.files, function (index, file) { 35 var node = $('<p/>') 36 .append($('<span/>').text(file.name)); 37 node.data(data) 38 node.appendTo(data.context); 39 }); 40 }).on('fileuploadprocessalways', function (e, data) { 41 var index = data.index, 42 file = data.files[index], 43 node = $(data.context.children()[index]); 44 if (file.preview) { 45 node 46 .prepend('<br>') 47 .prepend(file.preview); 48 } 49 }); 50 }); 51 </script> 52```Croppie.html 53```html 54<div class="demo"></div> 55<script> 56$('.demo').croppie({ 57 url: '', 58}); 59</script> 60<!-- or even simpler --> 61<img class="my-image" src="" /> 62<script> 63$('.my-image').croppie(); 64</script>
コピペしたものですがうまくいかず、私自身JavaScriptは初心者なので、足りないところや修正したほうが良いところがあれば教えていただきたいです。
追記
上記のように使用しているのはjQuery-File-Upload-10.31.0ですが、他にもjQuery関連のファイルもダウンロードしたほうが良いのでしょうか?
あなたの回答
tips
プレビュー