2017-05-31 4 views
0

私はアンドロイドアプリのWebサービスを作成しています。モバイルから、デコードしてjpg/jpeg/png(いずれかの)形式で保存する必要がある画像を送信しています。base64文字列配列として送信された複数の画像をサーバーディレクトリにデコードして保存する方法は?

送信されるデータは、私がバックエンドで処理し、将来の参照のためにサーバーディレクトリに保存する必要があるbase64の配列になります。

イメージを保存するために、私のコードは次のようになります。 enter image description here

私は何かが足りないと思う:私はそのはちょうど私にこれを与えて開こうとすると、このコードは、しかし、JPEG拡張子を持つイメージを作成します

public function testing(Request $request){ 
    $i=0; 
    foreach($request['images'] as $name) 
    { 
     $i +=1; 

     $imagename= 'Image'.$i.'.jpeg'; 
     $destinationPath = public_path('images'); 
     $path = 'images/'.$imagename; 
     $res = file_put_contents($path, base64_decode($name)); 
    } 
} 

(これは、単に試験方法です)。

[コードの上にアプリから正しいファイルをアップロードするだけのデモです。]気にする

答えて

0

申し訳ありません。私はいくつかのコードを追加して修正しました。

$i=0; 
    foreach($request['images'] as $name) 
    { 

     list($type, $name) = explode(';', $name); 
     list(, $name)  = explode(',', $name); 
     $data = base64_decode($name); 
     $i +=1; 

     $imagename= 'Image'.$i.'.jpeg'; 
     $destinationPath = public_path('images'); 
     $path = 'images/'.$imagename; 
     $res = file_put_contents($path, $data); 

     /*$saveInlistingimages = DB::insert('INSERT INTO listingimages (Listing, Image) values (?, ?)', [$lastId, $path]);*/ 

    } 
関連する問題