我需要帮助,我已经使用react native和api laravel上传了图像,但没有上传?
这是我的react本机代码
var dataphoto = this.state.photoData; // this from ImagePicker
RNFetchBlob.fetch('POST', 'my_url/api/storimage', {
Authorization : "Bearer access-token",
otherHeader : "foo",
'Content-Type' : 'multipart/form-data',
}, [
{ name : 'image', filename : 'image.jpg',type:'image/jpg', data: dataphoto},
]).then((resp) => {
console.log('response: ' + JSON.stringify(resp));
}).catch((err) => {
console.log('err: ' + JSON.stringify(err));
})
此My Laravel代码
// Route::post('storimage','apiController@storimage'); **api route**
public function storimage(Request $req){ // the function
if($req->hasFile('image'))
{
$image = $req->file('image');
$name = time().'.' . $image->getClientOriginalName();
Image::make($req->file('image'))->save(public_path('images/').$name);
return response()->json('Successfully yes');
}
else{
return response()->json('not');
}
}
为什么我的代码不工作
您发送数据图像,因此在服务器接收base64时,您可以:
$base64Image = $req->get('image');
$data = base64_decode($base64Image);
file_put_contents($imagePath, $data);
$imagePath是保存的地方