Загрузка изображения с угловым 6 с3 и многопартийность
Я делаю небольшой проект, и у меня проблема с загрузкой изображения в S3, у меня есть следующий код:
var AWS = require('aws-sdk');
AWS.config.loadFromPath('/Users/user1/.aws/credentials.json');
var http = require('http');
var util = require('util');
var multiparty = require('multiparty');
//component class
addAds(event){
//console.log('Hola fuck1');
event.preventDefault();
//console.log('Hola add');
const newAd: CreateAds = {
title: this.title,
description: this.description,
celphone: this.celPhone,
published: this.published
};
this.createService.addAds(newAd).subscribe(CreateAds => {
console.log(newAd);
this.Ads.push(CreateAds);
this.title = '';
this.description = '';
this.celPhone = '';
console.log(this.Ads);
});
}
//service class
addAds(newAd: CreateAds){
return this.http.post<CreateAds>(`${this.domain}/api/ads/ads`,newAd).pipe(map(res => res));
}
//router class
router.post('/ads',(req,res,next) => {
console.log(req.body);
const ad = req.body;
var form = new multiparty.Form();
form.parse(req, function(err, fields, files) {
console.log('Un error: ' + err);
var s3 = new AWS.S3({
logger: console
});
console.log(files.upload[0].path);
let fileData = fs.readFileSync(files.upload[0].path);
console.log(fileData);
var params = {
Bucket: 'lobeliaphotosprod',
Key: 'foto1.jpg',
Body: fileData,
ACL:'public-read'
};
s3.putObject(params, function (perr, pres) {
if (perr) {
console.log("Error uploading image: ", perr);
} else {
console.log("uploading image successfully");
}
}); return;
});
});
<form (submit)="addAds($event)" id="idforms" enctype="multipart/form-data">
<div>
<div class="row form-group centered">
<h1>Ingresa tu anuncio.</h1>
</div>
<div class="row form-group">
<input type="text" name="Titulo" [(ngModel)]="title" placeholder="Título" class="form-control">
</div>
<div class="row form-group">
<textarea name="Descripcion" rows="9" form="idforms" [(ngModel)]="description" placeholder="Descripción" class="form-control"></textarea>
</div>
<div class="row form-group">
<input type="text" name="Celular" [(ngModel)]="celPhone" placeholder="Celular" class="form-control">
</div>
<div class="row form-group">
<input type="file" name="fotos" multiple="multiple" [(ngModel)]="pictures" class="form-control">
</div>
<div class="row">
<span class="input-group-addon">
<button type="submit" class="btn btn-primary">
Agregar
</button>
</span>
</div>
</div>
</form>
И у меня есть эта ошибка:
[nodemon] перезапуск из-за изменений...
[nodemon] запуск node src/index.js
подача на порт 3000
{опубликовано: false }
Un ошибка: UnsupportedMediaTypeError: неподдерживаемый тип содержимого
console.log(files.upload[0].path);
^
Ошибка типа: не удается прочитать свойство 'upload' из неопределенного в
Я буду признателен за любую помощь, которую вы могли бы мне оказать.
Спасибо!.