Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在http POST中发送图像和更多键值_Javascript_Angular_Laravel - Fatal编程技术网

Javascript 如何在http POST中发送图像和更多键值

Javascript 如何在http POST中发送图像和更多键值,javascript,angular,laravel,Javascript,Angular,Laravel,我有一个API调用,其中我提供了图像和其他键值。 当我和邮递员一起做的时候,一切都很顺利。我选择formData并添加一个图像以及其他键值。 但当我在角度上做同样的事情时,它不起作用。 每个字段都存储在表中,图像部分除外 我的角度代码如下 onFileSelected(event) { this.selectedFile = <File>event.target.files[0]; } create(){ var data ={}; const fd =

我有一个API调用,其中我提供了图像和其他键值。 当我和邮递员一起做的时候,一切都很顺利。我选择formData并添加一个图像以及其他键值。 但当我在角度上做同样的事情时,它不起作用。 每个字段都存储在表中,图像部分除外

我的角度代码如下

onFileSelected(event) {
    this.selectedFile = <File>event.target.files[0];
  }

create(){
    var data ={};
    const fd = new FormData();

    fd.append('image',this.selectedFile,this.selectedFile.name);
    Object.keys(this.productForm.controls).forEach(key => {
      data[key] = this.productForm.get(key).value;
    });

    data["image"] = fd;
    this.spinner.show();
    this._service.post(Constant.createProduct,data).subscribe(res=>{
      console.log(res);
      this.spinner.hide();
    },
    error=>{
      this.spinner.hide();
    });
  }

您已将图像作为blob值或base64编码值传递给服务器。是否添加标题
'Content-Type':'multipart/form data'
?@yazantahhan是的,我已添加该标题。响应错误是什么?@yazantahhan无响应错误。我也会附上服务代码
public function createProduct(Request $req){
        // 'name', 'preferred_chamber' ,'profile_picture_1','profile_picture_2','address', 'zone','note','google_location', 'list_number',  'phone_number', 'phone_number_2'
        
        
        $p=new Product();
        $p->name=$req->name;
        $p->brand_name=$req->brand_name;
        $p->mrp=$req->mrp;
        $p->cost_price=$req->cost_price;
        $p->unit=$req->unit;
        $p->weight=$req->weight;
        $p->qty=$req->qty;
        $p->inventory_qty=$req->inventory_qty;
        $p->category=$req->category;
         $p->reorder_qty=$req->reorder_qty;
          $p->product_desc=$req->product_desc;
           $p->inventory_type=$req->inventory_type;
        
        //upload profile picture
        if ($req->hasFile('image')) {
            $pp1_name=time().".jpg";
            $pp1 = request()->file('image')->move("/home/u481243053/domains/freelanceglobal.tech/public_html/sk_uploads", $pp1_name);
            $p->image= "http://freelanceglobal.tech/sk_uploads/".$pp1_name;
        }
        
        $p->save();
        
        return response()->json(['product'=>$p]);

    }