Загрузить изображение AJAX — Laravel 5.2

Здравствуйте, я пытаюсь загрузить изображения в Laravel из AJAX, используя метод FormData (). Я думаю, что отправляю хороший файл, потому что, если я отправляю файл, размер которого превышает (2 МБ), сервер отвечает мне с ошибкой проверки, но когда я отправляю с хорошими свойствами изображения, это не сохраняет его, я не знаю почему и Я не получаю никакой ошибки в консоли, код состояния 200 ОК.

Я уже ищу другой пост, но не работает: /

это часть моего кода JS:

$(document).ready(function(e) {
$("#uploadimage").on('submit', (function(e) {
e.preventDefault()
$('#mensaje').empty()
$('#loading').show()
var token  = $('#token').val()

$.ajax({
url: '/admin/imagenes',
headers:  {
"X-CSRF-TOKEN": token
},
type: 'POST',
data: ({
type: 'post',
formData: new FormData(this)
}),
contentType: false,
cache: false,
processData: false,
success: function(data) {
$('#loading').hide()
$('#message').html(data)
}

и это мой код Laravel:

public function store(Request $request)    {
if ($request->file('file')) {
$file = $request->file('file');
$name = 'NacionGrita_' .time(). '.' . $file->getClientOriginalExtension();
$path = base_path(). '/imagenes/articulos';
$file->move($path, $name);

$imagen = new Imagen();
$imagen->url = $name;

$imagen->save();

return response()->json(
$file->toArray()
);
}

}

И это мой код Blade:

{!!Form::open(['route' => 'admin.imagenes.store', 'id' => 'uploadimage', 'method' => 'POST', 'files' => true])!!}
<div class="form-group ">
{!!Form::label('file', 'Imagen principal')!!}
{!!Form::file('file', null, ['class' => 'form-control', 'id' => 'file','placeholder' => 'Ingrese el título del post', 'required'])!!}
</div>
<div class="form-group ">
{!!Form::submit('Agregar Artículo', ['class' => 'btn btn-primary submit', 'id' => 'upImg'])!!}
</div>
{!!Form::close()!!}
</div>

Я надеюсь, что кто-нибудь может мне помочь. Огромное спасибо.

0

Решение

Я рекомендую вам реализовать этот плагин:
http://malsup.com/jquery/form/#file-upload

Позволяет отправлять файлы через Ajax с помощью jquery.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]