[英]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.