Невозможно установить заголовок в угловом 7 HttpClient с multipart / form-data - PullRequest
1 голос
/ 24 апреля 2019

У меня есть сервис, в котором я загружаю данные формы, используя класс FormData. В форме у меня есть несколько полей, включая один файл. Я добавил все поля в данные формы и использую метод post HttpClient для загрузки данных.

saveMakerDetails(data:FormData){   
       return  this.http.post(`${env.base_url}/web/maker`,data,{headers:new HttpHeaders({"Content-Type":"multipart/form-data"})});
    }

А ниже приведен мой код для подготовки FormData.

onSubmit(){
    let formData = new FormData();
    let data = {}
    for(let obj of Object.keys(this.profileForm.value)){
        if(obj == 'image'){
            formData.append("file",this.profileForm.value[obj]);
        } else {
            data[obj] = this.profileForm.value[obj];
        }
    }
    formData.append("maker",JSON.stringify(data));
    this.disableSave = true;
    this.adminService.saveMakerDetails(formData)
        .subscribe(res=>{
            this.disableSave = false;
        },err=>{
            this.disableSave = false;
        })

}

Проблема заключается в том, что при попытке загрузить сервер сообщает, что текущий запрос не является составным.

Я пытался установить различные методы для настройки заголовка в angular service, но ни один из них не работает нормально.

Вот мой ответ

{timestamp: "2019-04-24T07:55:10.894+0000", status: 500, error: "Internal Server Error",…}
error: "Internal Server Error"
message: "Current request is not a multipart request"
path: "/v1/web/maker"
status: 500
timestamp: "2019-04-24T07:55:10.894+0000"}

Кажется, что angular не может установить Content-Type. Ниже приведен заголовок запроса, скопированный браузером формы.

Accept: application/json, text/plain, */*
accessToken: eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI1YzlhM2RhODRiODJjNjM5OTc0Y2QyNWIiLCJpYXQiOjE1NTM4ODc5ODEsInN1YiI6ImNsaWVudCIsImlzcyI6ImlkZW1pYSJ9.r2Jh6PdXi3Ja8-UomFUJ7eGk2GXJhA4OqiYhQjcsFs8
Content-Type: application/json
Origin: http://localhost:8080
Referer: http://localhost:8080/
requestId: 1234
trackingId: 56565
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36

please guide me what should i do.

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