невозможно загрузить изображение с помощью ajax в laravel - PullRequest
0 голосов
/ 06 января 2019


я пытаюсь загрузить изображение с помощью ajax в laravel.
вот мой код js:

$('#profile_picture').on('submit', function(event){
    event.preventDefault();
    $.ajax
    ({
        type: "POST",
        url: "{{url('all/update-profile-picture')}}", 
        data:new FormData(this),
        dataType:'json',
        type:'post',
        processData: false,
        contentType: false,
        cache:false,
    }).done( function(data){
      //swal("Good job!", "Your information has been successfully updated!", "success")
          console.log('Ajax was Successful!')
          console.log(data)
    }).fail(function(xhr, textStatus, error){
        console.log(textStatus)
        console.log(error)
    });
});

вот код контроллера:

$validation = Validator::make($request->all(), [
    'profile_photo'=> 'required|image|mimies:jpeg,png,jpg,gif|max:2048'
]);
if ($validation->passes()) {
    //$image = $request->file('profile_photo');
    $new_name = time().'.'.$request->image->getClientOriginalExtension();
    $request->image->move(public_path("photo"),$new_name);
    return response()->json([
        'message' => 'Image uploaded successfully'
    ]);
} else {
    return response()->json([
        'message' => $validation->errors()->all(),
        'profile_photo' => '',
        'class_name' => 'danger'
    ]);
}

Я надеюсь, это проблема моего контроллера. если нажать кнопку отправить с пустым, в консоли появляется сообщение об ошибке.
Я не понимаю, в чем проблема ??

1 Ответ

0 голосов
/ 06 января 2019

вам нужно использовать метод file () для получения файла запроса.

$validation = Validator::make($request->all(), [
    'profile_photo'=> 'required|image|mimies:jpeg,png,jpg,gif|max:2048'
]);

if ($validation->passes()) {

    $new_name = time().'.'.$request->file('profile_photo')->getClientOriginalExtension();
    $request->file('profile_photo')->move(public_path("photo"),$new_name);

    return response()->json([
        'message' => 'Image uploaded successfully'
    ]);
} 

return response()->json([
    'message' => $validation->errors()->all(),
    'profile_photo' => '',
    'class_name' => 'danger'
]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...