繁体   English   中英

在 React 中获取多个图像

[英]Get multiple images in React

我想从 React 上传文件中获取一些图片,并通过 API 将其发送到 Laravel。 我使用此代码通过 Axios 将文件发送到 API:

   ``` code ```
    let s=this.state.files;
       //files
                let reader=new FileReader();
    
    
                reader.onload=(e)=>{
                    this.setState({
                        images:e.target.result
                    });
                }
                reader.readAsDataURL(s[0]);
    
     axios.post('/shop/Admin/products/add',{
                    name:dt['enName'],
                    title:dt['name'],
                    description:dt['info'],
                    shortdesc:dt['shortInfo'],
                    price:dt['price'],
                    off:dt['salepercent'],
                    type:dt['type'],
                    count:dt['number'],
                    state:dt['states'],
                    tags:tag0,
                    categories:cat0,
                    images:this.state.images,
                    
    
    
                } ).then(
                    response=>{
    
    
    
                        console.log(response.data);
    
    
                    }
                )

``` code ```

后端代码(通过 laravel):

code public function addnewWayImage($id,Request $req){ $image = $req->get('images'); // 图像 base64 编码

    $iddata=$id;


   $c=$image;
   $arrImg=array();


   $folderd='I'.$iddata.'_'.bin2hex(random_bytes(4));
   $cd= preg_match("/data:image\/(.*?);/",$image,$image_extension);  // extract the image extension

   $image = preg_replace('/data:image\/(.*?);base64,/','',$image);  // remove the type part
   $image = str_replace(' ', '+', $image);

   //    dd($image_extension);
   $imageName = 'image_' . time() . '.' . $image_extension[1]; //generating unique file name;
   file_put_contents("shopmaker/images/".$imageName,base64_decode($image));
   $fileAddress="shopmaker/images/".$imageName;
   array_push($arrImg,[
       "imgAddress"=>$fileAddress
   ]);

} code

它适用于一张图片,但对于多张图片我不知道该怎么做,谢谢您的回答。

暂无
暂无

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

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