Отправка необработанных двоичных данных в виде HttpParam с Angular HttpClient - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь отправить входной файл браузера как один из HttpParams, но не как [объектный файл]. Мне нужно, чтобы он был необработанным двоичным (двоичным) с типом application / octet-stream.Второй параметр должен быть строкой.Пример:

sendFile(options):Observable<HttpResponse<any>>{
  let prms = new HttpParams();
  prms = prms.append('file', options.file);
  prms = prms.append('format', options.format);
  return this.http.post(url,prms,{
    observe: 'response'
  }).map(data => {
    return data;
  },error => Observable.throw(error))
}

Кто-нибудь знает, как это сделать?

Спасибо

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Хорошо, если кто-то почесывает голову с подобной проблемой, вам просто нужно использовать FormData вместо HttpParams:

sendFile(options):Observable<HttpResponse<any>>{
   let formData = new FormData();
   formData.append('importFile', options.file);
   formData.append('format', options.format);
   return this.http.post(url,formData,{
     observe: 'response'
   }).map(data => {
     return data;
   },error => Observable.throw(error))
}
0 голосов
/ 18 октября 2018

Начиная с Angular 5 и далее, в HttpParams в качестве значения можно указывать только строку.Таким образом, для первого параметра вам нужно преобразовать его в строку.Чтобы преобразовать его в строку, следуйте этой ссылке Ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...