我想以角度4上传文件,我无法将文件附加到Formdata

时间:2017-10-19 05:33:01

标签: angular laravel-5.4

这是我的上传功能

当我在控制台上记录formData时没有数据

let fileList: FileList = event.target.files;
    if(fileList.length > 0) {
      let file: File = fileList[0];
      let formData:FormData = new FormData();
      formData.append('photo',file);

      let currentUser = JSON.parse(localStorage.getItem('currentUser'));
      let headers = new Headers();
      headers.append('Accept', 'application/json');
      headers.append('Authorization','Bearer' + currentUser);

      let options = new RequestOptions({ headers: headers });
      this.http.post(this.apiUrl + 'v1/createEmp', formData, options)
          .map(res => res.json())
          // .catch(error => Observable.throw(error))
          .subscribe(
              data => console.log(data),
              error => console.log(error)
          );
    }

这是我的html

<input type="file" (change)="fileUpload($event)" placeholder="Upload file" accept=".jpg,.png">

2 个答案:

答案 0 :(得分:0)

什么似乎有问题? FormData已正确配置。请注意,您不会在网络选项卡中看到DevTools中的文件,因为我记得它将在base64重复此文件中。最后一点是我认为在服务器端正确处理请求时,必须将Content-Type设置为标头,因此您应该添加headers.append('Content-Type', 'multipart/form-data')

答案 1 :(得分:0)

您无法记录formData对象以获取其内容。首先,发送文件并从服务器上查看。