1. 程式人生 > >Angular對接AWS S3介面上傳檔案樣例

Angular對接AWS S3介面上傳檔案樣例

因為沒有找到Angular版的介面,故在此使用了javascript版的。
首先要新增官方依賴

"aws-amplify": "^1.1.3",
"aws-amplify-angular": "^2.0.7",

然後元件中匯入

import AWS from 'aws-sdk/lib/aws';

方法體

  doUpload(file: any): void {
    const formData = new FormData();
    formData.append('file', file);

    let accessKeyId: string;
    let
secretAccessKey: string; this.keycloakService.loadUserProfile().then(res => { accessKeyId = res["attributes"]["accesskeyid"][0]; secretAccessKey = res["attributes"]["secretaccesskey"][0]; }); let endPoint: string; this.inobjBucketUploadService.getBucketDomain(this.bucketName)
.subscribe(res => { endPoint = res.msg; }); //連線配置在此完成 AWS.config.update({ region: this.region, credentials: { accessKeyId: accessKeyId, secretAccessKey: secretAccessKey }, endpoint: endPoint }); const params = { Bucket: this.bucketName,
Key: file.name, Body: formData }; let s3 = new AWS.S3(); s3.upload(params, function (err, data) { console.log(err, data); }); }