загрузка одного файла с использованием nodeJs multer не работает с Angular внешним интерфейсом - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь загрузить один файл, используя multer. Хотя я могу загрузить файл вручную, просто используя узел в соответствующей папке, я не могу синхронизировать c с моим Angular внешним интерфейсом. Я создал папку с именем uploads в внутренней папке узла, куда файлы должны быть загружены. Кроме того, мне нужно загрузить файл в форме и передать его в API, куда он должен взять файл вместе с другими параметрами.

Код моего внутреннего узла, который работает ниже:

const multer = require('multer')

const storage = multer.diskStorage({

destination: function(req, file, cb) {

cb(null, './uploads/')

},

filename: function(req, file, cb) {

cb(null, Date.now() + file.originalname)

}

})

const upload = multer({storage: storage})

код маршрута узла

app.post(baseUrl+'/create', upload.single('imagePath'), blogController.createBlog);

Ниже мой Angular код компонента, который не работает:

selectImage(event) {

if(event.target.files.length > 0){

const file = event.target.files[0];

this.images = file;

}

}

public createBlog(): any {

const formData = new FormData();

formData.append('imagePath', this.images);

let blogData = {

title: this.blogTitle,

description: this.blogDescription,

blogBody: this.blogBodyHtml,

category: this.blogCategory,

imagePath: this.imagePath

} //end blogData

console.log(blogData);

this.blogHttpService.createBlog(blogData).subscribe(...calling the node route)

Интерфейс HTML Код:

<div>

<input type="file" name="imagePath" (change)="selectImage($event)" />

</div>
...