(angular 8) отправка файловых данных в $ http. Почтовые данные дают {} в логах rails API - PullRequest
0 голосов
/ 14 января 2020

angular 8, Rails 5.2 API

Я пытаюсь прикрепить изображение к моей Event модели в форме редактирования. Я следую этому учебнику

мой машинописный код:

const httpOptions = {
headers: new HttpHeaders({
    Accept: 'application/json',
    'Content-Type': 'application/json; charset=utf-8; multipart/form-data',
    Authorization: environment.apiAuthKey,
  })
};
updateEvent(event: Event): Observable<Event> {
    return this.http.put<Event>(url, event, httpOptions)
    .pipe(
   ...
 }

Это создает следующие журналы на стороне Rails API:

Started PUT ...
Processing by ... as JSON
  Parameters: {"title"=>"testing image", "image" => {}}
...

Есть идеи, почему параметр изображения имеет значение null?

Пока что из моего исследования я понял, что мне нужно добавить multipart-formdata в заголовки HTTP, я сделал это, но без изменений в выводе .

1 Ответ

0 голосов
/ 15 января 2020

Попробуйте использовать formData вместо FormGroup

const formData = new FormData();

formData.append('image', image);
formData.append('title', testing image);
this.http.post(url, formData);

. Вы также можете выполнить тест для публикации без установки HttpHeaders, FormData установит подходящий заголовок для вас

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