私はlaravel 5と介入を使用しており、フォームを介してアップロードするときに複数のサイズの画像を保存したいと考えています. 誰でも私を案内できますか
質問する
7969 次
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 に答える