Почему угловые не сохраняют изображение в S3? - PullRequest
0 голосов
/ 20 мая 2019

Я пытаюсь загрузить изображение в S3 и сохранить ваш URL в моей базе данных, но код ошибки, идущий 200 внутри ошибки, и изображение не до s3 ....

Назад-код конца:

const multer = require('multer')
const multerS3 = require('multer-s3')
const aws = require('aws-sdk')

const s3 = new aws.S3()

aws.config.update({
    secretAccessKey: "fdsfsfsdf",
    accessKeyId: "sdfsdfdsfs",
    region: 'us-east-1'
})

const upload = multer({
    storage: multerS3({
        dirname: '/',
        s3: s3,
        bucket: 'images-budget',
        acl: 'public-read',
        key: function (req, file, cb) {
            cb(null, file.originalname)
        }
    })
})

module.exports = upload

код конца маршрута:

const upload = require('../../resources/uploadFile')

router.post('/image-upload', upload.array('upl'), function (req, res, next) {
    res.send("How I get URL image in S3?");
});

угловой код:

this.productForm = this.formBuilder.group({
      photo: ''
    })

registerProduct(valueForm) {
      this.productService.saveImage(valueForm).subscribe(res => {
      });
  }

код HTML:

<form [formGroup]="productForm" enctype="multipart/form-data" novalidate>
   <div class="col-12 col-sm-4">
        <label for="inputSuccess">Photo</label>
        <div class="custom-file">
          <input type="file" class="form-control custom-file-input" id="validatedCustomFile" formControlName="photo">
          <label class="custom-file-label" for="validatedCustomFile">Choose a picture...</label>
        </div>
      </div>
    <button type="button" class="btn btn-success" (click)="registerProduct(productForm.value)"
            [disabled]="!productForm.valid">Save</button>
</form>

Затем выведите эту ошибку:

core.js:15724 ERROR 
HttpErrorResponse {headers: HttpHeaders, status: 200, statusText: "OK", url: "http://localhost:3000/budgets/image-upload", ok: false, …}
error: {error: SyntaxError: Unexpected token U in JSON at position 0 at JSON.parse (<anonymous>) at XMLHtt…, text: "Uploaded!"}
headers: HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, lazyInit: ƒ}
message: "Http failure during parsing for http://localhost:3000/budgets/image-upload"
name: "HttpErrorResponse"
ok: false
status: 200
statusText: "OK"
url: "http://localhost:3000/budgets/image-upload"
__proto__: HttpResponseBase

Теперь мне также нужно узнать, как получить URL-адрес сохраненного изображения для сохранения в моей базе данных.

Спасибо всем.

...