2017-12-28 39 views
-1

자바 스크립트 (반응)를 사용하고 있으며 내 데이터 목록으로 Amazon AWS Bucket에 파일을 업로드하고 파일 URL을 다시 보내려고합니다.아마존 AWS에 파일 업로드 및 파일 URL 받기

기술은 데이터베이스 연결을 위해 그래프 기능을 사용했습니다.

처럼 나는 형식 내가이 데이터를 CSV 파일을 생성하고 AWS에 업로드 할

user["a","b","c"] 

데이터를 가지고있다. 뭔가처럼 될 것이라고 사용 사례를 들어 https://github.com/aws/aws-amplify/blob/master/media/storage_guide.md

: 당신은 자바 스크립트를 사용하고 있기 때문에

+0

를 만들 –

+0

우리는 같은 페이지에 있으므로 AWS S3 서비스에 업로드하고 싶은 파일이 있습니까? –

+0

예 외적으로는하지만 먼저 API를 호출해야하며이 모든 작업은 API 수준에서 완료됩니다. 파일 URL이 필요합니다. –

답변

0

및 과 같은 코드를 사용하면 tmp 폴더에 쓸 수있는 권한이 있으므로 test.csv 파일에 필요한 데이터를 쓸 수 있습니다. 우리는 파일 쓰기와 읽기를 위해 패키지 'fs'를 사용한다. 이

let csvContent ''; 
    neededData.forEach((rowArray) => { 
     const row = Object.values(rowArray); 
     csvContent += `${row}\r\n`; 
    }); 
    const tempFileName = `/tmp/test.csv`; 
    fs.writeFileSync(tempFileName, csvContent); 
    AWS.config.update({ accessKeyId: '....',secretAccessKey'....' }); 
    return await uploadFile(tempFileName); 

우리는 내가 AWS에 파일을 업로드 초보자이야 기능을 UploadFile 방법

async function uploadFile(filePath) { 
return new Promise((resolve, reject) => { 
    fs.readFile(filePath, (err, datauser) => { 
     if (err) reject(err); 

     const base64data = new Buffer(datauser, 'binary'); 
     const fileName = 'filename'; 
     const bucketName = 'bucket name'; 
     const rigion = 'rigion'; 
     link = `https://s3-${rigion}.amazonaws.com/${bucketName}/${fileName}`; 
     const s3 = new AWS.S3(); 
     s3.putObject({ 
      Bucket: bucketName, 
      Key: fileName, 
      Body: base64data, 
      ACL: 'public-read', 
     },() => { 
      resolve(link); 
     }); 
    }); 
}); 

}

이 기능은 AWS에 파일을 밀어 반환 URL을

1

당신은 AWS 증폭의 스토리지 구성 요소를 볼 수있는이에 대한 AMAZONE AWS 서비스를 사용할 수 있습니다

Storage.put('userfile.csv', 'User XXX CSV uploading') 
    .then (result => console.log(result)) 
    .catch(err => console.log(err));