web-dev-qa-db-fra.com

Comment télécharger un fichier dans AWS S3 à partir de Angular 8

Je suis confronté à des erreurs lors du téléchargement de fichiers vers S3 à partir de Angular 8 Project. J'ai suivi le didacticiel ci-dessous et fais les choses requises

https://medium.com/ramsatt/angular-7-upload-file-to-Amazon-s3-bucket-ba27022bad54

Mais je ne peux pas utiliser la bibliothèque S3 dans le fichier de service.

Error Screenshot

sous les lignes génèrent des erreurs que je pense mais ne savent toujours pas où il manque des choses

importer * en tant qu'AWS depuis 'aws-sdk/global';

importer * en tant que S3 depuis 'aws-sdk/clients/s3';

Y a-t-il quelqu'un qui puisse m'aider à m'en débarrasser.

6
Rushabh Madhu

Enfin, j'ai résolu le problème par les étapes ci-dessous:

Étape 1 :

npm install --save-dev @ types/node

Étape 2 :

Utilisez la référence: https://github.com/aws/aws-sdk-js/issues/1271 (Étape 2)

Étape 3 :

Utilisez la référence: https://github.com/bevacqua/dragula/issues/602 (Étape 3)

public uploadFileToAws(file, folderName, newFileName) {

    var aws_cognito_identity_pool_id = environment.pool_id;
    var aws_cognito_region = environment.aws_cognito_region;
    var aws_project_region = environment.aws_project_region;
    AWS.config.region = aws_project_region;
    AWS.config.credentials = new AWS.CognitoIdentityCredentials({
      IdentityPoolId: aws_cognito_identity_pool_id
    }, {
        region: aws_cognito_region
      });
    AWS.config.update({ customUserAgent: 'MobileHub v0.1' });

    const s3 = new S3({
      apiVersion: '2006-03-01',
      params: { Bucket: environment.bucket }
    });

    s3.upload({
        Key: folderName+'/'+newFileName,
        Bucket: environment.bucket,
        Body: file,
        ACL: 'private'
      },function (err, data) {
        this.fileuploading = false;
        if (err) {
          console.log(err, 'there was an error uploading your file');
        } else {
          console.log(data.Key+ ' uploaded successfully');          
        }        
        return true;
      });
  }
1
Rushabh Madhu

TypeScript se plaint car certains types d'environnement de nœuds sont nécessaires. C'est une limitation pour l'instant que nous pourrions être en mesure de contourner en stubbing ces interfaces à l'avenir.

pouvez-vous essayer d'installer les typages d'environnement pour voir si cela résout votre problème?

npm install --save-dev @types/node
0
AWS PS