source

Laravel 5 Ajax 파일/이미지 업로드

ittop 2023. 10. 24. 21:33
반응형

Laravel 5 Ajax 파일/이미지 업로드

라라벨 아약스 애플리케이션에 문제가 있습니다.

ajax POST를 통해 이미지/파일을 업로드 할 수 없습니다.

여기 제 코드가 있습니다.

아약스..

/*Add new catagory Event*/
$(".addbtn").click(function(){
$.ajax({
      url:'add-catagory',
      data:{
        logo:new FormData($("#upload_form")[0]),
        },
      dataType:'json',
      async:false,
      type:'post',
      processData: false,
      contentType: false,
      success:function(response){
        console.log(response);
      },
    });
 });
/*Add new catagory Event*/

블레이드 템플릿...

 <form enctype="multipart/form-data" id="upload_form" role="form" method="POST" action="" >
      <div class="form-group">
        <label for="catagry_name">Name</label>
         <input type="hidden" name="_token" value="{{ csrf_token()}}">
        <input type="text" class="form-control" id="catagry_name" placeholder="Name">
        <p class="invalid">Enter Catagory Name.</p>
      </div>
      <div class="form-group">
        <label for="catagry_name">Logo</label>
        <input type="file" class="form-control" id="catagry_logo">
        <p class="invalid">Enter Catagory Logo.</p>
    </div>

    </form>
    </div>
    <div class="modelFootr">
      <button type="button" class="addbtn">Add</button>
      <button type="button" class="cnclbtn">Reset</button>
    </div>
  </div>

컨트롤러..

public function catadd(){
    if (Input::hasFile('logo'))
    {
       return "file present";
    }
    else{
        return "file not present";
    }
}

경로..

 Route::post('add-catagory',['as'=>'catagory_add','uses'=>'MastersController@catadd']);

내 코드의 오류는 무엇입니까?

파일 정보를 laravel controller에서 가져올 수 없습니다.

이 문제를 해결하려면 어떻게 해야 할까요?

변경해야 할 두 가지 사항:

js 파일을 다음에서 변경합니다.

 data:{
    logo:new FormData($("#upload_form")[0]),
 },

받는 사람:

 data:new FormData($("#upload_form")[0]),

왜냐하면 당신은 전체 양식을 보내길 원하기 때문입니다.

html에서:

파일 입력 필드에 이름 추가

<input type="file" class="form-control" id="catagry_logo">

받는 사람:

<input type="file" name="logo" class="form-control" id="catagry_logo">

다음을 게시할 때 얻을 수 있는 것을 컨트롤러에서 확인합니다.

echo dd(Input::all()); 

php에서 파일 개체를 확인합니다.PHP의 내용:

$_FILES

Request::file("logo");

네, 자료는 따로 안 올려요?그 양식은 정말로 포스팅하는 건가요?

그것은 나에게 효과가 없습니다.dataType:'json'. 오류가 발생하면 삭제합니다.dataType:'json'.

언급URL : https://stackoverflow.com/questions/32367132/laravel-5-ajax-file-image-upload

반응형