如何从服务器中的Form Data获取文件

我无法获取服务器上的文件数据。_$FILE 说是空的。我通过离子应用程序来做这个。我在http params 中发送信息。


cargarFoto(idnegocio,formData) {

    let datos = new HttpParams()

    .set("proceso", "subirImgNegocioApp")

    .set("imgRestaurante", formData)

    .set("idnegocio", idnegocio)


    let headerOptions = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');

    return this.http.post(this.path,datos, {

      observe: 'response',

      responseType: 'text',

      headers: headerOptions

    });

  } 

这是我的服务中的代码,我在其中发送表单数据和其他信息。但是当我使用 $_FILES 获取文件时,它显示为 null 或为空。我做错了什么?实际上所有的信息都是从$_POST 上获取的。我将帖子返回到应用程序,显示如下:


body: "{ "proceso": "subirImgNegocioApp", "imgRestaurante": "[object FormData]", "idnegocio": "4" }"


青春有我
浏览 84回答 1
1回答

慕容森

我可以建议一些不同的方法 - 将所有内容作为表单数据发送:  sendSomething(someVar: string, files: File[]) {    const formData = new FormData();    for (const f of files) {      formData.append('file[]', f);    }    formData.append('someVar', someVar);    return this.http.post('/someUrl', formData, {      headers: new HttpHeaders({ enctype: 'multipart/form-data' })    });  }然后在 PHP 中:$someVar = $_REQUEST['someVar']文件(或一个文件)将位于$_FILES['file']
打开App,查看更多内容
随时随地看视频慕课网APP