ホームページ > 記事 > ウェブフロントエンド > モバイル端末でcropper.jsを使って画像を切り抜いてアップロードする方法(コード解析)
この記事の内容は、モバイル端末で Cropper.js を使用して画像を切り取ってアップロードする方法 (コード分析) に関するものです。必要な方は参考にしていただければ幸いです。あなた。
Cropperの使用法を紹介します
<link href="/path/to/cropper.css" rel="stylesheet"> <script src="/path/to/cropper.js"></script>
HTML構造
<li class="ui-border-bottom"> <a href="javascripts:void(0);">头像 <span class="pull-right user-header"> <img class="rounded" id="avatar" src="../images/user.jpg" alt="avatar"> <input type="file" class="sr-only" id="input" name="image" accept="image/*"> </span> </a> </li>
<div class="common-layer" id="modal"> <div class="layer-content"> <div class="layer-title"> <span class="cancel-btn" id="cancle">取消</span> <h4>截图头像</h4> </div> <div class="layer-area"> <div class="img-container"> <img id="image" src="https://avatars0.githubusercontent.com/u/3456749"> </div> <a class="ui-btn m-t-15" id="crop" href="javascripts:void(0);">保存</a> </div> </div> </div>
jsリファレンス:
Cropper.jsの具体的な使用方法については、を確認してください。公式ウェブサイト
$(function() { //修改头像 参加文件https://blog.csdn.net/weixin_38023551/article/details/78792400 var avatar = document.getElementById('avatar'); var image = document.getElementById('image'); var input = document.getElementById('input'); var $modal = $('#modal'); var cropper; //点击图片 input.addEventListener('change', function (e) { var files = e.target.files; var done = function (url) { input.value = ''; image.src = url; $modal.show(function() { //初始化 cropper = new Cropper(image, { aspectRatio: 1, viewMode:1, }); }); }; var reader; var file; var url; if (files && files.length > 0) { file = files[0]; if (URL) { done(URL.createObjectURL(file)); } else if (FileReader) { reader = new FileReader(); reader.onload = function (e) { done(reader.result); }; reader.readAsDataURL(file); } } }); //关闭弹窗 document.getElementById('cancle').addEventListener('click', function () { $modal.hide(function() { cropper.destroy(); cropper = null; }); }); //保存截图 document.getElementById('crop').addEventListener('click', function () { var initialAvatarURL; var canvas; $modal.hide(function() { cropper.destroy(); cropper = null; }); if (cropper) { canvas = cropper.getCroppedCanvas({ width: 120, height: 120, }); initialAvatarURL = avatar.src; avatar.src = canvas.toDataURL('image/jpeg'); //保存数据 canvas.toBlob(function (blob) { var formData = new FormData(); formData.append('avatar', blob); $.ajax('https://jsonplaceholder.typicode.com/posts', { method: 'POST', data: formData, processData: false, contentType: false, success: function () { console.log('Upload success'); }, error: function () { avatar.src = initialAvatarURL; console.log('Upload error'); } }); }); } }); })
関連する推奨事項:
フロントエンドで写真のトリミングとアップロード機能を実装する方法
javascript - 携帯電話で写真のトリミングとアップロード機能を実装する方法
以上がモバイル端末でcropper.jsを使って画像を切り抜いてアップロードする方法(コード解析)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。