У меня проблемы с созданием кода загрузки этого файла для angular.
РЕДАКТИРОВАТЬ: В почтальоне я успешно загрузить файл. только угловой код дает сбой.
Код экспресс-маршрутизатора (uploadRouter):
uploadRouter.route('/')
.post(upload.single('txtFileFilter'), (req,res)=>{
res.statusCode = 200;
res.setHeader('Content-Type','application/json');
res.json(req.file);
path = req.file.path;
console.log('upload completed for '+path);
})
app.use('/api/txtupload', uploadRouter)
Угловой код обслуживания:
pushFileToStorage(file: File): Observable<HttpEvent<{}>> {
const formdata: FormData = new FormData();
formdata.append('file', file);
const req = new HttpRequest('POST', 'http://localhost:8080/api/txtupload', formdata, {
reportProgress: true,
responseType: 'text'
});
return this.http.request(req);
}
Код компонента:
upload() {
this.progress.percentage = 0;
this.currentFileUpload = this.selectedFiles.item(0);
this.uploadService.pushFileToStorage(this.currentFileUpload).subscribe(event => {
if (event.type === HttpEventType.UploadProgress) {
this.progress.percentage = Math.round(100 * event.loaded / event.total);
} else if (event instanceof HttpResponse) {
console.log('File is completely uploaded!');
}
});
this.selectedFiles = undefined;
}
При тестировании я получаю POST http://localhost:8080/api/txtupload 500 (Внутренняя ошибка сервера) и ОШИБКУ HttpErrorResponse {заголовки: HttpHeaders, status: 500, statusText: «Внутренняя ошибка сервера», URL: «http://localhost:8080/api/txtupload", хорошо: ложь,…}