PHP 인터페이스를 통해 사진을 전송하는 방법

(*-*)浩
풀어 주다: 2023-02-27 15:00:02
원래의
5189명이 탐색했습니다.

질문: 앱이 아바타를 업로드할 때 API인 PHP는 어떻게 이미지 정보를 받아야 하나요?

PHP 인터페이스를 통해 사진을 전송하는 방법

코드의 업로드 부분은 문제가 되지 않습니다. 중요한 것은 서버 측에서 사진 정보를 어떻게 받을 수 있느냐 하는 것입니다. 앱 측. B/S 아키텍처에서는 양식 양식을 통해 직접 enctype="multipart/form-data"를 설정할 수 있으며 이미지 정보는 $_FILES 배열에 있습니다. 그러면 C/S 모드에서도 마찬가지인가요? (추천 학습: PHP 비디오 튜토리얼)

답변 1(방법 1 참조): 일반적으로 바이너리 스트림 전송이 사용되며 클라이언트는 바이너리를 전송합니다. 서버 측에서 이를 수신한 후 file_put_contents가 파일에 기록됩니다. 파일 이름 형식과 파일을 저장할 위치는 모두 사용자가 정의합니다.

답변 2(방법 2 참조): Android 또는 IOS 클라이언트는 서버에 대한 HTTP Post 요청을 시뮬레이션하고 서버는 해당 Post 요청을 받습니다($ _FILES를 통해). 이미지 리소스를 획득하고 클라이언트에 응답 정보를 반환합니다. (이 방법은 HTML 제출 방법과 동일합니다)

이미지를 base64로 문자열로 암호화하여 전송

# 🎜 🎜#지침: IOS 또는 Android 측: 이미지를 base64로 인코딩하여 문자열을 가져와 인터페이스에 전달

인터페이스 측: 수신된 문자열을 Base64로 디코딩한 후 file_put_contents 함수에 업로드 지정 위치 #🎜🎜 #
/**
     * 图片上传
     * @param $imginfo - 图片的资源,数组类型。['图片类型','图片大小','图片进行base64加密后的字符串']
     * @param $companyid - 公司id
     * @return mixed
     */
    public function uploadImage( $imginfo , $companyid ) {
        $image_type = strip_tags($imginfo[0]);  //图片类型
        $image_size = intval($imginfo[1]);  //图片大小
        $image_base64_content = strip_tags($imginfo[2]); //图片进行base64编码后的字符串

        $upload = new UploaderService();
        $upconfig = $upload->upconfig;

        if(($image_size > $upconfig['maxSize']) || ($image_size == 0)) {
            $array['status'] = 13;
            $array['comment'] = "图片大小不符合要求!";
            return $array;
        }

        if(!in_array($image_type,$upconfig['exts'])) {
            $array['status'] = 14;
            $array['comment'] = "图片格式不符合要求!";
            return $array;
        }

        // 设置附件上传子目录
        $savePath = 'bus/group/' . $companyid . '/';
        $upload->upconfig['savePath'] = $savePath;

        //图片保存的名称
        $new_imgname = uniqid().mt_rand(100,999).'.'.$image_type;

        //base64解码后的图片字符串
        $string_image_content = base64_decode($image_base64_content);

        // 保存上传的文件
        $array = $upload->upload($string_image_content,$new_imgname);

        return $array;
    }
로그인 후 복사
errree

위 내용은 PHP 인터페이스를 통해 사진을 전송하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!