首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过`POST`请求向后台传递3个参数?

如何通过`POST`请求向后台传递3个参数?
EN

Stack Overflow用户
提问于 2019-03-25 15:25:57
回答 2查看 82关注 0票数 0

根据后端,我需要通过post请求传递3个参数,这个后端函数是:

代码语言:javascript
复制
public ResponseModel Post([FromBody] CourseFileUpload item, string fileName, Stream fileToUpload) 

现在我试着像这样传递这个参数:

代码语言:javascript
复制
uploadFile(uploadData:ModelToFileSteam):Observable<ModelToFileSteam> {
        const fileName = uploadData.fileName;
        console.log('file name is', fileName);
        const headers = new HttpHeaders({ 'Content-Type': 'application/json', 'Access-Control-Allow-Origin':'*' });
        return this.http.post<ModelToFileSteam>(environment.baseUrl+`CourseFileUpload`, uploadData.fileToUpload, uploadData.fileName, uploadData.uploadStream)
        .pipe(
            map(data => {
                return data;
            } ),
            catchError(this.handleError)
        )
    }

但是得到了错误,根本不能传递3个参数。做这件事的正确方法是什么?

有人帮我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-26 13:12:45

我建议将所有内容包装在一个对象中。并发送到后台。

或者直接发送uploadData

代码语言:javascript
复制
return this.http.post<ModelToFileSteam>(environment.baseUrl+`CourseFileUpload`, uploadData)
        .pipe(
            map(data => {
                return data;
            } ),
            catchError(this.handleError)
        )

在后端,你可以像req.body.uploadData一样让uploadDate检查你可以console.log(uploadData.fileName);

票数 3
EN

Stack Overflow用户

发布于 2019-03-25 16:08:04

这是我的工作示例

代码语言:javascript
复制
this.http.post<Customer>(this.base_url + 'v1/customers', client, this.getHeaders());

其中client是customer对象,this.getHeaders()是:

代码语言:javascript
复制
  getHeaders() {
    return {
      headers: new HttpHeaders({
        'Content-Type':  'application/json; charset=utf-8',
      })
    };
  }

祝你好运!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55332958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档