2017-12-08 20 views
0

이 같은 갤러리에 이미지를 업로드 할 모달 데 사용 DROPZONE에서 일부 ID 전달 :Laravel

$("#addImages").click(function(event) { 
       event.preventDefault(); 
       save_method = 'add'; 
       $('input[name=_method]').val('POST'); 
       $('#imagesModal').modal("show"); 
       $('#imagesForm')[0].reset(); 
       $('.modal-title').text('Add Images') 
      }); 

      Dropzone.options.addImages = { 
       paramName: "images", // The name that will be used to transfer the file 
       maxFilesize: 2, // MB 
      }; 

and i already add the route and the function 

    public function store(Request $request) 
    { 
     $gallery = Gallery::find($request->id); 
     $path = 'public'.'/'.str_slug($gallery->name); 

     foreach ($request->images as $file) { 
      $image = new Image(); 
      $image->gallery_id = $gallery->id; 
      $image->name = $file->getClientOriginalName(); 
      $image->extension = $file->extension(); 
      $image->size = $file->getClientSize(); 
      $image->save(); 

      // Or any custom name as the third argument 
      Storage::putFileAs($path, $file, $file->getClientOriginalName()); 
     } 

    } 

내 문제는 내가 돈이다 :

<div id="imagesModal" class="modal fade" role="dialog"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> 
       <h4 class="modal-title"></h4> 
      </div> 
      <div class="modal-body"> 
      <form name="imagesForm" id="addImages" class="form-horizontal dropzone" role="form" method="POST" action="{{ route('images.add') }}" enctype="multipart/form-data"> 
       {{ csrf_field() }} 
       {{ method_field('POST') }} 
      </form> 
      </div> 
     </div><!-- /.modal-content --> 
    </div><!-- /.modal-dialog --> 
</div><!-- /.modal --> 

여기 내 JQuery와 스크립트의를 내가 갤러리 ID를 전달할 수있는 방법을 알고있어 함수에 액세스 할 수 있습니까? 단추의 데이터 갤러리 ID에 넣으려는 아이디어가 있지만 어떻게 그 데이터를 전달하여 이미지와 함께 전송할 수 있습니까?

답변

0

이미지 개체와 함께 보낼 수 있다고 생각하지 않습니다. 그러나 대신이 방법을 사용할 수 있습니다. 이미지 갤러리 ID를 양식에 저장하기 위해 숨겨진 하나의 입력 유형을 만들 수 있습니다 (예 : ). 양식을 제출하면 컨트롤러에서 $ request-> id를 얻을 수 있습니다. 당으로

0

자신의 Documentation

params : 서버에 전송하는 추가 매개 변수의 객체, 또는 그것이 청크 업로드가 있다면, 파일, XHR 호출하고 가져옵니다 기능, 덩어리 인자가 될 수 . 함수의 경우지도를 반환해야합니다. 기본 구현은 일반 업로드에는 아무 것도 수행하지 않지만 청크 업로드에 대한 관련 정보를 추가합니다.

그래서 당신은이 양식 요소에 숨겨진 입력 필드를 추가하는 것과 동일

Dropzone.options.addImages = { 
    paramName: "images", // The name that will be used to transfer the file 
    maxFilesize: 2, // MB 

    // Whether to send multiple files in one request. 
    // If this it set to true, then the fallback file input element will 
    // have the multiple attribute as well. 
    uploadMultiple: TRUE, 

    params: { 
     'gallery_id' : 1 // Your gallery Id 
    } 
}; 

로 DROPZONE 구성을 수정할 수 있습니다.

+1

나는 그것을 시도 할 것이지만 나는 내 코드를 변경해야한다고 생각한다. 같은 id를 버튼에 사용하는 것은 잘못된 것입니다. 버튼이 foreach에 있기 때문에 먼저 그것을 알아 내야합니다. 그래서 동일한 id를가집니다. – Ying