jQueryを使用した画像のプレビューとアップロード方法


  1. ファイル選択とプレビューの表示: HTMLのフォームにを追加し、JavaScriptで選択された画像のプレビューを表示します。
<input type="file" id="imageInput">
<img id="previewImage" src="#" alt="Preview Image" style="display: none;">
<script>
  $(document).ready(function() {
    $('#imageInput').change(function() {
      var input = this;
      if (input.files && input.files[0]) {
        var reader = new FileReader();
        reader.onload = function(e) {
          $('#previewImage').attr('src', e.target.result);
          $('#previewImage').show();
        }
        reader.readAsDataURL(input.files[0]);
      }
    });
  });
</script>
  1. 画像のアップロード: フォームの送信時に、選択された画像をサーバーにアップロードします。以下のコードは、Ajaxを使用して非同期で画像をアップロードする例です。
<form id="uploadForm" action="upload.php" method="post" enctype="multipart/form-data">
  <input type="file" id="imageInput">
  <input type="submit" value="Upload">
</form>
<script>
  $(document).ready(function() {
    $('#uploadForm').submit(function(e) {
      e.preventDefault();
      var formData = new FormData(this);
      $.ajax({
        url: $(this).attr('action'),
        type: 'POST',
        data: formData,
        processData: false,
        contentType: false,
        success: function(response) {
          // アップロード成功時の処理
        },
        error: function(xhr, status, error) {
          // アップロードエラー時の処理
        }
      });
    });
  });
</script>

これらのコード例を参考にして、画像のプレビューとアップロードを実装してみてください。必要に応じてサーバーサイドの処理も適切に実装する必要があります。