IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Angular Discussion :

ERROR DOMException: An attempt was made to use an object that is not, or is no longer, usable


Sujet :

Angular

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut ERROR DOMException: An attempt was made to use an object that is not, or is no longer, usable
    Bonjour,
    j'essaye de construire un tableau d'image base64 que je glisse dépose


    Voici la partie html
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-12" style="margin-left: 28px;">
    line 643    <div style="position: relative;" class="uploadfilecontainer" (click)="fileInput.click()" appDragDrop (onFileDropped)="uploadFile($event)">
    			<input id="testId" hidden type="file" #fileInput (change)="uploadFile($event.target.files)">
    			<label class="positionabsolute horizontal-vertical-center btn btn-success" style="text-align: center;padding: 0px 0px;">
    				<input class="blackButtonWithBaseColorText"  value="Télécharger" type="button">
    			</label>
    		</div>
    		<div>
    			<div  class="files-list" *ngFor="let file of files;let i= index" >
    				<p> {{ file.name }} </p>
    				<button class="delete-file" (click)="deleteAttachment(i)">
    					<img src="../../assets/images/Recycle_Bin_Full.png">
    				</button>
    			</div>
    		</div>
    </div>

    Et voici la partie typescript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
          filesToCropp = [];
          fileReader: FileReader = new FileReader();
     
          uploadFile(events: any) {
            let i = 0;
            let that = this;
            for (const event of events) {
              console.log(event);
              console.log('uploadFile');
              console.log('event.type='+event.type);      
     
              that.fileReader.onload = (event: any) => {
                 that.filesToCropp.push(event.target.result);
              };
              that.fileReader.readAsDataURL(event);      
              i++;
              console.log('i='+i);
            }
            this.fileReader.onloadend = (event: any) => {
                console.log(that.filesToCropp);      // filesToCropp  contient un tableau (en base64) avec tous les fichiers que l'on a sélectionnés 
                this.openDialog(that.filesToCropp);
              }; 
          }
    Mais, quand je glisse depose 3 images, j'ai le message d'erreur suivante

    Nom : Capture d’écran 2020-12-01 à 22.48.28.png
Affichages : 1263
Taille : 130,3 Ko

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Par défaut
    j'essaye de construire un tableau d'image base64 que je glisse dépose

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut
    Pardon, je me suis mal exprimé. Je glisse dépose des fichiers puis j'essaye de transformer ces fichiers en un tableau d'image base 64.

    J'ai modifié le code en rajoutant that.fileReader = new FileReader(); dans la boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
      filesToCropp = [];
      fileReader: FileReader = new FileReader();
     
      uploadFile(events: any) {
        let i = 0;
        let that = this;
        for (const event of events) {
          that.fileReader = new FileReader();
          console.log(event);
          console.log('uploadFile');
          console.log('event.type='+event.type);      
     
          that.fileReader.onload = (event: any) => {
             that.filesToCropp.push(event.target.result);
          };
          that.fileReader.readAsDataURL(event);      
          i++;
          console.log('i='+i);
        }
        this.fileReader.onloadend = (event: any) => {
            console.log(that.filesToCropp);      // filesToCropp  contient un tableau (en base64) avec tous les fichiers que l'on a sélectionnés 
            this.openDialog(that.filesToCropp);
          }; 
      }
    avec ceci il n'y a plus d'erreur, mais je ne sais pas encore si cela rempli mes requirements, à savoir remplir un tableau avec mes 3 images base64

  4. #4
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    est ce que tu peux mettre ça sur stackblitz stp parceque là

Discussions similaires

  1. [MySQL] SQLSTATE[HY000] [2002] An attempt was made to access a socket
    Par romeo jaroule dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 27/04/2017, 18h06
  2. An attempt was made to insert a node where it is not permitted.
    Par doudou7777 dans le forum Format d'échange (XML, JSON...)
    Réponses: 10
    Dernier message: 05/03/2014, 15h34
  3. Réponses: 0
    Dernier message: 25/06/2013, 17h43
  4. Réponses: 0
    Dernier message: 20/01/2013, 07h10
  5. ERROR [RequestProcessor] Invalid path was requested
    Par Invité dans le forum Struts 1
    Réponses: 2
    Dernier message: 18/02/2009, 14h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo