Laravel Dropzone产品信息

时间:2017-11-21 04:18:52

标签: php laravel

我正在寻找解决方案,在编写我的产品时在laravel 5.5中使用dropzoneJ。

我想要做的是:上传我的图片并填写我的产品信息然后像WordPress / Joomla等一样保存在一起。

wordpress sample

到目前为止我有什么:

Images Table

public function up()
    {
        Schema::create('images', function (Blueprint $table) {
            $table->increments('id');
            $table->string('image');
            $table->integer('product_id')->nullable()->unsigned();
            $table->timestamps();
        });

        Schema::table('images', function($table) {
            $table->foreign('product_id')->references('id')->on('products');
        });
    }

我的产品create.blade.php

中的表单
<div class="row">
    <div class="col-md-12">
        {!! Form::open([ 'route' => [ 'dropzone.store' ], 'files' => true, 'enctype' => 'multipart/form-data', 'class' => 'dropzone', 'id' => 'image-upload' ]) !!}
        {{ csrf_field() }}
        <div>
            <h4 style="text-align: center;color:#428bca;">Drop images in this area  <span class="glyphicon glyphicon-hand-down"></span></h4>
            <!-- Input code below Not working yet -->
            <input type="text" name="product_id" value="" hidden>
        </div>
        {!! Form::close() !!}
    </div>
</div>

我的JavaScript代码:

<!-- drozone -->
<script type="text/javascript">
  Dropzone.options.imageUpload = {
      maxFilesize: 5, //MB
      acceptedFiles: ".jpeg,.jpg,.png,.gif"
  };
</script>

我的ImageController

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Image;
use App\Product;

class ImageController extends Controller
{
  public function dropzone()
  {
      return view('dropzone-view');
  }

  public function dropzoneStore(Request $request)
  {
      $image = $request->file('file');
      $imageName = time().$image->getClientOriginalName();
      $image->move(public_path('images'),$imageName);
      return response()->json(['success'=>$imageName]);
  }
}

我的路线:

Route::get('dropzone', 'ImageController@dropzone');
  Route::post('dropzone/store', ['as'=>'dropzone.store','uses'=>'ImageController@dropzoneStore']);

有什么想法吗?

0 个答案:

没有答案