Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

141
Views
aws-sdk obtener información del archivo

Estoy tratando de obtener la información del archivo de un archivo en mi Amazon S3 server usando el módulo de nodo aws-sdk .

Lo que quiero obtener es el nombre del archivo, el tipo y el tamaño del archivo.

He intentado los siguientes métodos sin suerte:

 s3.headObject(params, function (err, data) { if (err) { console.log(err, err.stack) } else { d.resolve(data); } });

Y

 s3.getObject(params, function (err, data) { if (err) { console.log(err, err.stack) } else { d.resolve(data); } });

Mirando a través de su documentación, parece que no puedo encontrar ningún otro método que me brinde la información que necesito.

Así que mi pregunta es ¿cómo obtengo la información anterior?

about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Aquí está el código para obtener el nombre del archivo, el tamaño y el tipo de contenido de todos los objetos presentes en un depósito.

  • Cambiar el nombre del cubo

  • Cargue sus claves de acceso desde config.json en consecuencia

Código:-

 var AWS = require('aws-sdk'); // Load credentials and set region from JSON file AWS.config.loadFromPath('./config.json'); // Create S3 service object s3 = new AWS.S3({ apiVersion: '2006-03-01' }); var bucketName = 'yourBucketName'; var params = { Bucket: bucketName }; var headParams = { Bucket: bucketName }; listAllKeys(); function listAllKeys() { s3.listObjectsV2(params, function (err, data) { if (err) { console.log(err, err.stack); // an error occurred } else { var contents = data.Contents; contents.forEach(function (content) { //console.log(JSON.stringify(content)); headParams["Key"] = content.Key; s3.headObject(headParams, function (err, headObjectData) { if (err) { console.log(err, err.stack); } else { console.log("1. File name :" + content.Key + ";" + " 2. File size :" + content.Size + ";" + " 3. Content-Type :" + headObjectData.ContentType); } }); }); if (data.IsTruncated) { params.ContinuationToken = data.NextContinuationToken; console.log("get further list..."); listAllKeys(); } } }); }

Salida de muestra: -

 1. File name :index.html; 2. File size :48; 3. Content-Type :text/html
about 4 years ago · Santiago Trujillo Report

0

s3.headObject funciona bien. Puede encontrar el código de muestra a continuación

 let primaryBucket = primarys3bucketname; var headParams = { Bucket: primaryBucket, }; let size = ''; headParams["Key"] = "/sample/path/to/filename.pdf"; s3.headObject(headParams).promise().then((headObjectData) => { size = this.bytesToSize(headObjectData.ContentLength); }); function bytesToSize(bytes) { var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB']; if (bytes == 0) return '0 Byte'; var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024))); return Math.round(bytes / Math.pow(1024, i), 2) + ' ' + sizes[i]; };
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!