0

私はlaravel 5と介入を使用しており、フォームを介してアップロードするときに複数のサイズの画像を保存したいと考えています. 誰でも私を案内できますか

4

1 に答える 1

7

だから私はあなたがすでに何をしたのか知りません。それでは、最初から始めましょう。

まず、Intervention Library が必要です。メインフォルダー(composer.jsonファイルを含む)に切り替えて、次のように入力します

composer.phar require intervention/image

または、composer.json の require 配列に "intervention/image": "~2.1" を追加するだけです。(その後、作曲家の更新を行います)

"require": {
    "laravel/framework": "5.0.*",
    "intervention/image": "~2.1"
},

今、追加する必要があります

'Intervention\Image\ImageServiceProvider',

プロバイダー配列に

'Image' => 'Intervention\Image\Facades\Image'

あなたのエイリアス配列に。どちらも config/app.php にあります

これで、次のようなコントローラーのどこかに「アップロード関数」を作成できます

public function upload() {
    $image = \Image::make(\Input::file('image'));
    $path = storage_path('app')."/";

    // encode image to png
    $image->encode('png');
    // save original
    $image->save($path."original.png");
    //resize
    $image->resize(300,200);
    // save resized
    $image->save($path."resized.png");
}

これにより、2 つの画像が storage/app フォルダーに保存されます。1 つは元のサイズで、もう 1 つは 300x200 にサイズ変更されています。

このコードは単なる例であり、有効な画像などのチェックは含まれていません。ファイル(画像を想定)を取り、それを2回保存するだけです。もちろん、pngにエンコードする必要もありません...

于 2015-03-28T06:51:03.087 に答える