1.app上傳圖片使用http上傳的,用的form表單,設置form屬性為enctype="multipart/form-data"
后臺獲取用$_FILES就可以獲取了,和網(wǎng)頁上傳圖片類似!
2.或者
/**
* 封裝base64位圖片上傳
*/
function base64_upload($base64)
{
? ? $base64_image = str_replace(' ', '+', $base64);
? ? //post的數(shù)據(jù)里面,加號會被替換為空格,需要重新替換回來,如果不是post的數(shù)據(jù),則注釋掉這一行
? ? if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image, $result)) {
? ? ? ? //匹配成功
? ? ? ? if ($result[2] == 'jpeg') {
? ? ? ? ? ? $image_name = uniqid() . '.jpg';
? ? ? ? ? ? //純粹是看jpeg不爽才替換的
? ? ? ? } else {
? ? ? ? ? ? $image_name = uniqid() . '.' . $result[2];
? ? ? ? }
? ? ? ? $image_file = "./public/upload/jl_qd/{$image_name}";
? ? ? ? //服務器文件存儲路徑
? ? ? ? if (file_put_contents($image_file, base64_decode(str_replace($result[1], '', $base64_image)))) {
? ? ? ? ? ? return '/public/upload/jl_qd/' . $image_name;
? ? ? ? } else {
? ? ? ? ? ? return false;
? ? ? ? }
? ? } else {
? ? ? ? return false;
? ? }
}
public function image(){
//寶貝圖片-------------------
? ? ? ? $photo_list = $request_data['image'];
? ? ? ? $photo_list = json_decode($photo_list, true);
? ? ? ? $count_photo = count($photo_list);
? ? ? ? if($count_photo == 0){
? ? ? ? ? ? return json_encode(array('code' => 1 , 'msg' => '請選擇圖片' , 'data' =>''));
? ? ? ? }
? ? ? ? if($count_photo < 4){
? ? ? ? ? ? return json_encode(array('code' => 1 , 'msg' => '請上傳全部的圖片' , 'data' =>''));
? ? ? ? }
? ? ? ? $photo = "";
? ? ? ? if($count_photo > 1){
? ? ? ? ? ? foreach ($photo_list as $k => $v) {
? ? ? ? ? ? ? ? $photo .= $this->base64_upload($v['base64']).",";
? ? ? ? ? ? }
? ? ? ? ? ? $photo = substr($photo,0,strlen($photo)-1);
? ? ? ? }else{
? ? ? ? ? ? foreach ($photo_list as $k => $v) {
? ? ? ? ? ? ? ? $photo .= $this->base64_upload($v['base64']);
? ? ? ? ? ? }
}
? ? ? ? $where['image'] =? $photo;//寶貝圖片
//寶貝圖片----------------
}