2016-09-10 12 views
1

私は最近プロジェクトに取り組んできましたが、私はs3にファイルをアップロードしようとしていましたが、前のサイトでこれをやっていましたが、 1つは少しトリッキーなことを証明するようです。Laravel 5.3 Amazon s3のアップロードに関する問題

私はフォームを介して送信されたファイル(pdf)をフォームのsubmitをクリックした後にs3の 'horsebeach'バケットにアップロードしようとしています。ローカルストレージに変更するだけで正常に動作し、ファイルが私のアプリのストレージに格納されて

public function newEvent(Request $request){ 
     // in here 
} 

:私のEventControllerインサイド

$file = $request->file('attachment'); 
$s3 = Storage::disk('s3'); 
$s3->put($file->hashName(), file_get_contents($file)); 

は、ここに私のアップロードのコードです。それが助け包み

は、ここに私のフォームです:

<form action="{{URL::to('events/new')}}" method="post" enctype="multipart/form-data"> 
            {{ csrf_field() }} 

             <div class="form_inputs clearfix"> 
              <div class="row-fluid"> 
               <div class="span2"> 
                <label class="control-label">Event Title:</label> 
               </div> 

               <div class="span10"> 
                <input type="text" name="event-title" placeholder="Event Title" class="span11"/> 
               </div> 
              </div> 
             </div> 
             @if ($errors->has('event-title')) 
              <span class="help-block"> 
               <strong>{{ $errors->first('event-title') }}</strong> 
              </span> 
             @endif 

             <div class="form_inputs clearfix"> 
              <div class="row-fluid"> 
               <div class="span2"> 
                <label class="control-label">Begin Date:</label> 
               </div> 

               <div class="span2"> 
                <input type="text" name="begin-date" placeholder="e.g 27-02-2016" class="span11 dpicker"> 
               </div> 
              </div> 
             </div> 

             @if ($errors->has('begin-date')) 
              <span class="help-block"> 
               <strong>{{ $errors->first('begin-date') }}</strong> 
              </span> 
             @endif 

             <div class="form_inputs clearfix"> 
              <div class="row-fluid"> 
               <div class="span2"> 
                <label class="control-label">End Date:</label> 
               </div> 

               <div class="span2"> 
                <input type="text" name="end-date" placeholder="e.g 27-02-2016" class="span11 dpicker"> 
               </div> 
              </div> 
             </div> 

             @if ($errors->has('end-date')) 
              <span class="help-block"> 
               <strong>{{ $errors->first('end-date') }}</strong> 
              </span> 
             @endif 

             <div class="form_inputs clearfix"> 
              <div class="row-fluid"> 
               <div class="span2"> 
                <label class="control-label">Location:</label> 
               </div> 

               <div class="span10"> 
                <input type="text" name="location" placeholder="e.g Dave's house" class="span11"/> 
               </div> 
              </div> 
             </div> 

             @if ($errors->has('location')) 
              <span class="help-block"> 
               <strong>{{ $errors->first('location') }}</strong> 
              </span> 
             @endif 

              <div class="form_inputs clearfix"> 
              <div class="row-fluid"> 
               <div class="span2"> 
                <label class="control-label">Fee:</label> 
               </div> 

               <div class="span10"> 
                <div class="input-prepend"> 
                 <span class="add-on">£ </span> <input type="text" id='fee' name="fee" placeholder="2000" style="width: 87%"> 
                </div> 
               </div> 
              </div> 
             </div> 

              @if ($errors->has('fee')) 
              <span class="help-block"> 
               <strong>{{ $errors->first('fee') }}</strong> 
              </span> 
             @endif 

             <div class="form_inputs clearfix"> 
              <div class="row-fluid"> 
               <div class="span2"> 
                <label class="control-label">Colour:</label> 
               </div> 

               <div class="span10"> 
                <div class="input-prepend"> 
                 <input type="text" name="colour" placeholder="" id="color1" class="color1"> 
                </div> 
               </div> 
              </div> 
             </div> 

              @if ($errors->has('colour')) 
              <span class="help-block"> 
               <strong>{{ $errors->first('colour') }}</strong> 
              </span> 
             @endif 

             <div class="form_inputs clearfix"> 
              <div class="row-fluid"> 
               <div class="span2"> 
                <label class="control-label">Description:</label> 
               </div> 

               <div class="span10"> 
                <textarea rows="3" name="description" placeholder="What's going down?" class="span11 elastic"></textarea> 
               </div> 
              </div> 
             </div> 

             <div class="form_inputs clearfix"> 
              <div class="row-fluid"> 
               <div class="span2"> 
                <label class="control-label">Confirmed?</label> 
               </div> 

               <div class="span10"> 
                <input type="checkbox" name="confirmed" class="radio1"> 
               </div> 
              </div> 
             </div> 

             <div class="form_inputs clearfix"> 
              <div class="row-fluid"> 
               <div class="span2"> 
                <label class="control-label">Attachments:</label> 
               </div> 

               <div class="span10"> 
                <input id="fileupload" type="file" name="attachment"/> 
               </div> 
              </div> 
             </div> 




             <div class="form_inputs"> 
              <input type="submit" name="create-event" value="Create Event" class="btn btn-info"/> 
             </div> 
             </form> 

設定ファイル:

's3' => [ 
     'driver' => 's3', 
     'key' => env('AWS_KEY'), 
     'secret' => env('AWS_SECRET'), 
     'region' => env('AWS_LOCATION'), 
     'bucket' => 'horsebeach', 
    ], 

composer.json:事前に

"league/flysystem-aws-s3-v3": "~1.0" 

感謝。

答えて

1

aws/aws-sdk-php-laravelを必ず引き寄せましたか?

私は次のように私のプロジェクトにインストールされている:

"aws/aws-sdk-php-laravel": "^3.1", 
    "graham-campbell/flysystem": "^3.0", 
    "league/flysystem-aws-s3-v3":"~1.0", 

また、起こっていただきました尾あなたstorage/logs/laravel.logを参照してください。

+0

助けてくれてありがとう、私は私のcomposer.jsonで同じ必要があります。テールの後に私はこれを気付きました '[2016-09-10 23:25:27] local.ERROR:例外' Aws \ S3 \ Exception \ S3Exception 'with "https:// s3の" ListObjects "を実行中にエラーが発生しました.ireland.amazonaws.com/horsebeach?prefix = 24f87dc6e0de13243f30199798095eb3.pdf%2F&max-keys = 1&encoding-type = url "; AWS HTTPエラー:cURLエラー7:s3.ireland.amazonaws.comへの接続に失敗しましたポート443:操作がタイムアウトしました(http://curl.haxx.se/libcurl/c/libcurl-errors.htmlを参照) '' –

+0

あなたのキー、秘密、地域があなたの '.env'ですべて正しいことを確認してください。 – Taylor

+0

OK私はそれを得ました、本当に愚かな間違いです。私はアイルランドを自分の地域として持っていましたが、その地域は実際にはアイルランドでは西ヨーロッパ-1です。すべてうまくいきました。 –