Написать формуДанные на Aangular7 - PullRequest
0 голосов
/ 21 мая 2019

Я хочу отправить некоторые данные из моей сети на сервер. Я пытался отправить его от Почтальона, и это успешно. Проблема в том, что я не знаю, как написать код для создания данных формы в Angular. Могу ли я получить какую-либо помощь?

Postman

Ответы [ 2 ]

0 голосов
/ 21 мая 2019

Вот код для вызова на событие, такое как Загрузить

   const formData: FormData = new FormData();
    const params = Object.assign({}, {
        Id: 01010,
        FileName: file.name,
        FilePath: '', // this will be in Web API, so no need to pass from UI.
        CreatedBy: 'test-user'
    });
    formData.append('uploadFile', file, params.FileName);
    formData.append('myObjectClass', JSON.stringify(params));
    this.myService.uploadAttachments(formData).subscribe (resp => {
     // your code here
    },
  (error) => {
    console.log('POST ERROR in method uploadAttachments: ' + error.error);
  }
  );

Ваш сервис.TS

 uploadAttachments(formData: any): any {
    const headers = new HttpHeaders();
    /** In Angular 5, including the header Content-Type can invalidate your request */
    headers.append('Content-Type', 'multipart/form-data');
    headers.append('Accept', 'application/json');
   return  this.http.post(this.baseURL + 
             'Controller/UpdateInsertAttachments', formData,
              {headers: headers});

}

В веб-API:

 [HttpPost]
    [ResponseType(typeof(YourClass))] // optional
    public IHttpActionResult UpdateInsertAttachments()
    {

        try
        {
            CustomerAttachment cust= new CustomerAttachment();
            HttpPostedFile postedFile = null;
            var httpRequest = HttpContext.Current.Request;
            var filePath = string.Empty;

            if (httpRequest.Files.Count == 1)
            {
                postedFile = httpRequest.Files[0];

                var filePath = HttpContext.Current.Server.MapPath("../" + 
                 postedFile.FileName);
               // var path = ConfigurationManager.AppSettings["FilePath"];
                 postedFile.SaveAs(filePath);
            }
            var json = httpRequest.Form["myObjectClass"];
            cust = JsonConvert.DeserializeObject<CustomerAttachment>(json);
            cust .FilePath = filePath;
            return Ok(0);
        }

        catch (Exception ex)
        {
            return new HttpActionResult(HttpStatusCode.InternalServerError, ex.Message);
        }

    }
0 голосов
/ 21 мая 2019

Я могу предоставить вам несколько примеров URL-адресов, потому что вы должны создать шаблон формы, взять данные и отправить их на свой сервер. Вы можете следовать приведенному ниже URL-адресу для создания группы форм.

https://www.sitepoint.com/angular-forms/

Итак, для отправки ваших данных на сервер вы можете создать сервис, это пример:

https://www.metaltoad.com/blog/angular-5-making-api-calls-httpclient-service

В основном в вашем сервисе добавьте следующую строку в его конструктор: конструктор (частный http: HttpClient) {}

Сделать запрос:

let url =  'urltoyourserver/';
return this.http.get(url, params);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...