2013-12-11 2 views
0

현재 프론트 엔드 용 AngularJS 웹 사이트와 백엔드 용 Laravel 프레임 워크 (PHP5)를 사용하는 안정적인 웹 서비스를 개발 중입니다. 나는 현재 하나의 문제, 파일 업로드에 직면하고있다. 매우 간단한 파일을 업로드하고, 파일 입력 및 서버 폴더 중 하나에 복사 만하고 싶습니다.base64 문자열로 업로드 된 파일 관리

지금 당장은 AngularJS의 지시어를 사용하여 훌륭하게 작동하고 base64 url을 사용하여 파일을 보냅니다. 내 PHP 백엔드 내부에서이 문자열을 얻을 수는 있지만 파일로 변환 할 수는 없습니다. 예를 들어, 파일 이름 ext를 가져 와서 서버에 복사하고 싶습니다.

"파일 객체"로 base64를 변환하는 방법을 알고 싶습니다. (솔루션이 Laravel과 간단한 PHP를 위해 고안된 것이 든 상관 없습니다.)

답변

0

decode 서버의 기본 64 문자열은 매우 간단하고 file에 쓸 수 있습니다.

예 이미지는 형태의 이미지 데이터에 위치하고 있으며 데이터는 POST로 전송 된 경우 : 내가 laravel에 확실히 아니에요

file_put_contents('path/to/images/image.jpg', base_64_decode($_POST['image'])); 

하지만 접근 양식 데이터를 PHP의보다 프레임 워크 내부에 더 나은 방법이 있다고 생각 $ _POST 배열을 직접. 사실 내 문자열이`데이터처럼 시작 here

+0

finfo_buffer를 보라 이미지의 파일 형식의 찾아 귀하의 경우에 사용하는 방법을 참조하십시오 : 이미지/JPEG, Base64로,/9J/4AAQSkZJRgABAQAAAQABAAD/4SPrRXhpZgAATU0AKgAAAAgACgEPAAIAAAAGAAAAhg' (HTML5 Fileread API에서 제공)이므로 작동하도록 추가 작업을해야한다고 생각합니다. "data : image/jpeg; base64"부분을 제거하려고 시도했지만 아무 것도하지 않습니다. 파일을 저장할 수는 있지만 열 수 없습니다 ('JPEG 이미지 파일 해석 오류 (JPEG 파일이 아닙니다 : 0x2f 0x39로 시작)') –

+0

확실히 작동합니다. 당신은 데이터를 제거해야합니다 : image/jpeg; base64, string에서 또한 이전 프로젝트에서 그것을 수행하고 파일에 썼습니다. – Bernhard

관련 문제