2017-12-19 10 views
1

사용자가 Android 장치에서 이미지 파일을 선택하고 서버에 업로드 할 수있는 laravel로 REST API를 만드는 중입니다. 마법사는 다른 매개 변수와 함께 서버로 전송되기 전에 base64로 변환됩니다. 이 base64 파일로 변환하고 서버에 저장 한 다음 액세스 할 수있는 링크를 생성하고 싶습니다. 여기에 지금까지 시도 무엇이며 작업을 나던 : 이미laravel rest api 서버에 파일 업로드

public function create(Request $request) 
{ 
     $location = new Location(); 
     $location->name = $request->location_name; 
     $location->latitude = $request->latitude; 
     $location->longitude = $request->longitude; 

     $location->saveOrFail(); 

     $provider = new Provider(); 
     $provider->name = $request->provider_name; 
     $provider->location_id = $location->id; 
     $provider->category_id = $request->category_id; 
     $provider->description = $request->description; 
     $provider->image = request()->file(base64_decode($request->encoded_image))->store('public/uploads'); 


     $provider->saveOrFail(); 

     return json_encode(array('status'=>'success', 'message'=>'Provider created successfully')); 


} 
+0

가 https://github.com/Intervention/image이에 대한 –

답변

3

이미 Amando에 의해 주석으로, 당신은 Intervention/Image 패키지를 사용할 수있는 스토리지에 심볼릭 링크를 생성 한 내가 말할 수있는 몇 년 동안 그것을 사용하는 데 그것은 당신이 원하고 아주 잘 할 것입니다.

내가 추가 할 내용은 실제로 파일로 저장해야하는지 여부도 고려해야합니다.

크기 및 용도에 따라 다른 정보와 함께 DB 자체에 저장하는 것이 좋습니다. 이렇게하면 파일 서버에 대한 종속성이 제거되고 인프라 요구 사항에 대한 응용 프로그램의 유연성이 향상됩니다.

파일은 단지 데이터 일 뿐이므로 다른 데이터를 가져올 때 항상 파일을 가져 와서 단계를 줄이고 관련 데이터를 유지하십시오.

어느 쪽이든, 당신은 그것을 :)

+0

감사를 시도 분류 얻을 수 있기를 바랍니다. 개입으로 DB에 저장할 수 있습니까? –

+0

예, 이미지 분석, 조정 및 기타 할 수있는 모든 작업에 효과적입니다. 그것은 심지어 base64로 떨어 뜨리는 것에 대해 걱정할 필요가 없도록 이미지 인코딩을 처리 할 것입니다. – j5Dev

+0

이것을위한 thaks. 나는 도서관을지나 마침내 로프를 장악했다. –