[JAVA] [Rails] Implémentation de la fonction de prévisualisation d'image

Cible

ezgif.com-video-to-gif.gif

Environnement de développement

・ Rubis: 2.5.7 Rails: 5.2.4 ・ Vagrant: 2.2.7 -VirtualBox: 6.1 ・ Système d'exploitation: macOS Catalina

supposition

Ce qui suit a été mis en œuvre.

Présentation minceIntroduction de Bootstrap 3Introduction de Font Awesome

la mise en oeuvre

1. Modifier la vue

slim:users/edit.html.slim


/Postscript
= f.file_field :profile_image, class: 'img_field', style: 'display:none;'
= attachment_image_tag @user, :profile_image, fallback: 'no-image.png', onClick: "$('.img_field').click()", class: 'center-block img-thumbnail img-responsive img_prev'
br

[Explication]

(1) Cachez file_field de display: none et attribuez une classe.

= f.file_field :profile_image, class: 'img_field', style: 'display:none;'

(2) Lorsque le HTML (champ_fichier) de la classe assignée dans (1) est cliqué, le traitement JavaScript est exécuté.

onClick: "$('.img_field').click()"

2. Editez ʻapplication.scss`

appliacation.scss


//Postscript
.img_prev:hover {
  cursor: pointer; 
  opacity: 0.7;
  transform: scale(1.01, 1.01);
}

[Explication]

① Reflétez le CSS lorsque la souris est sur l'image.

.img_prev:hover {}

② Changez le curseur de la souris en pointeur.

cursor: pointer; 

③ Réduisez l'opacité et rendez l'image un peu plus blanche.

opacity: 0.7;

④ Agrandissez un peu l'image.

transform: scale(1.01, 1.01);

3. Créer / modifier un fichier JavaScript

Terminal


$ touch app/assets/javascripts/image_preview.js

image_preview.js


$(function () {
  function readURL(input) {
    if (input.files && input.files[0]) {
      var reader = new FileReader();
      reader.onload = function (e) {
        $('.img_prev').attr('src', e.target.result);
      }
      reader.readAsDataURL(input.files[0]);
    }
  }

  $('.img_field').change(function () {
    readURL(this);
  });
});

[Explication]

(1) 1. Le processus d'édition de la vue avec (2).

$('.img_field').change(function () {
  readURL(this);
});

Recommended Posts

[Rails] Implémentation de la fonction de prévisualisation d'image
Implémentation de la fonction de prévisualisation d'image
Implémentation de la fonction de prévisualisation d'image
[Rails] Implémentation de la fonction de catégorie
[Rails] Implémentation de la fonction tutoriel
[Rails] Implémentation d'une fonction similaire
[Rails] Implémentation de la fonction d'agrandissement d'image à l'aide de lightbox2
[Rails] Implémentation de la fonction d'importation CSV
[Rails] Implémentation asynchrone de la fonction similaire
[Rails] À propos de la mise en œuvre de la fonction similaire
[Rails] Implémentation de la fonction de retrait utilisateur
[Rails] Implémentation de la fonction d'exportation CSV
Rails [Pour les débutants] Implémentation de la fonction de commentaire
[Ruby on rails] Implémentation d'une fonction similaire
Implémentation de la fonction de recherche
Mise en œuvre de la fonction de pagénation
[Rails] Implémentation de la fonction de recherche en utilisant le ransack de gem
Implémentation de la fonction de connexion Ruby on Rails (Session)
[Rails] Implémentation du diaporama d'images à l'aide de Bootstrap 3
Implémentation de la suppression d'ajax dans Rails
Implémentation de la fonction de recherche séquentielle
Implémentation d'une fonction similaire (Ajax)
Mise en œuvre de la fonction déroulante de catégorie
[Rails] Implémenter la fonction de publication d'images
[Rails] Implémentation de la fonction glisser-déposer (avec effet)
Implémentation de la fonction de connexion Ruby on Rails (édition de devise)
[Rails] Implémentation de la fonction de catégorie multicouche en utilisant l'ascendance "Préparation"
[Rails] Implémentation de la fonction de catégorie multicouche à l'aide de l'ascendance "seed edition"
[Ruby on Rails] Fonction de prévisualisation de l'image dans le fichier
[Rails] Implémentation de la suppression logique utilisateur
[Rails] Implémentation de la fonction de catégorie multicouche en utilisant l'ascendance "Edit Form Edition"
[Rails] Implémentation de la fonction de catégorie multicouche à l'aide de l'ascendance "Formulaire de création"
Mise en place de la fonction de tri des rails (affichés par ordre de nombre de like)
[Rails] Implémentation de fonctions de catégorie plusieurs à plusieurs
[Rails] Implémentation de la fonction de catégorie d'ascendance gemme
[Ruby on Rails] Implémentation de la fonction de commentaire
[Rails] Commentaire mémo de procédure d'implémentation
Implémentation d'une fonction similaire en Java
[Rails] Implémentation d'une nouvelle fonction d'enregistrement au format assistant à l'aide de devise
J'ai essayé d'implémenter la fonction de prévisualisation d'image avec Rails / jQuery
[Rails] Implémentation de la fonction coupon (avec fonction de suppression automatique par traitement par lots)
Cliquez sur l'image dans le champ file_field de Rails pour télécharger et remplacer l'aperçu
[Rails] Implémentation de la fonction de balise à l'aide de la fonction agit-as-taggable-on et de la fonction de complétion d'entrée de balise à l'aide de tag-it
[Rails] Ajout de la fonction de commentaire Ruby On Rails