简体   繁体   English

如何以角度发送卷曲请求

[英]How to send a curl request in angular

I have the following curl request using postman, and i want to create an http request in angular that does the same thing我有以下使用邮递员的 curl 请求,我想在 angular 中创建一个执行相同操作的 http 请求

curl --location --request POST 'http://api.deepai.org/api/fast-style-transfer' \
--header 'api-key: myKey' \
--form 'content="https://www.dmarge.com/cdn-cgi/image/width=1200,quality=85,fit=scale-down,format=auto/https://www.dmarge.com/wp-content/uploads/2021/01/dwayne-the-rock-.jpg"' \
--form 'style="https://images.fineartamerica.com/images/artworkimages/mediumlarge/3/starry-night-print-by-vincent-van-gogh-vincent-van-gogh.jpg"'

This is what i have so far but i am getting errors这是我到目前为止所拥有的,但我遇到了错误

constructor(private http: HttpClient) {}

ngOnInit() {}

async style(){
    const url = 'http://api.deepai.org/api/fast-style-transfer';
    const headers = new HttpHeaders()
      .set('api-key', 'myKey');

    const resp = await this.http.post(url, { content: 'https://www.dmarge.com/cdn-cgi/image/width=1200,quality=85,fit=scale-down,format=auto/https://www.dmarge.com/wp-content/uploads/2021/01/dwayne-the-rock-.jpg',
    style: 'https://images.fineartamerica.com/images/artworkimages/mediumlarge/3/starry-night-print-by-vincent-van-gogh-vincent-van-gogh.jpg'}, {
      headers
    }).toPromise().then();

    console.log(resp);
  }

The errors:错误:

XHRPOSThttp://api.deepai.org/api/fast-style-transfer [HTTP/1.1 400 Bad Request 1993ms] XHRPOSThttp://api.deepai.org/api/fast-style-transfer [HTTP/1.1 400 Bad Request 1993ms]

GEThttp://localhost:8100/undefined [HTTP/1.1 404 Not Found 28ms] GEThttp://localhost:8100/undefined [HTTP/1.1 404 Not Found 28ms]

ERROR Error: Uncaught (in promise): HttpErrorResponse: {"headers":{"normalizedNames":{},"lazyUpdate":null},"status":400,"statusText":"Bad Request","url":"http://api.deepai.org/api/fast-style-transfer","ok":false,"name":"HttpErrorResponse","message":"Http failure response for http://api.deepai.org/api/fast-style-transfer : 400 Bad Request","error":{"err":"error processing given inputs from request"}}错误错误:未捕获(承诺):HttpErrorResponse: {"headers":{"normalizedNames":{},"lazyUpdate":null},"status":400,"statusText":"Bad Request","url": "http://api.deepai.org/api/fast-style-transfer","ok":false,"name":"HttpErrorResponse","message":"http://api.deepai 的HTTP失败响应.org/api/fast-style-transfer : 400 Bad Request","error":{"err":"错误处理给定来自请求的输入"}}

The POST request body is expected to be in JSON, therefore try to build a FormData object as shown in the following code snippet. POST 请求正文应为 JSON,因此尝试构建一个FormData对象,如以下代码片段所示。

Also, set the headers to accept data as JSON.此外,将标头设置为以 JSON 格式接受数据。

async style() {
  const url = 'http://api.deepai.org/api/fast-style-transfer';
  const headers = new HttpHeaders()
    .set('accept', 'application/json')
    .set('api-key', 'myKey');

  let requestBody = new FormData();

  requestBody.append('content', 'https://www.dmarge.com/cdn-cgi/image/width=1200,quality=85,fit=scale-down,format=auto/https://www.dmarge.com/wp-content/uploads/2021/01/dwayne-the-rock-.jpg');
  requestBody.append('style', 'https://images.fineartamerica.com/images/artworkimages/mediumlarge/3/starry-night-print-by-vincent-van-gogh-vincent-van-gogh.jpg');

  const resp = await this.http.post(url, requestBody, {
    headers: headers
  }).toPromise().then();

  console.log(resp);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM