При простой загрузки без Ajax все работает, через Ajax нет.
Выдает ошибку 404.
Ошибка у меня наверное в $request, я наверное неправильно его сформировываю если используется Ajax.
Заранее спасибо.
Код html
<meta name="csrf-token" content="{{ csrf_token() }}">
<input class="file-save" accept="image/*" type="file" name="img">
<div class="sumbit">Отправить</div>
Код js
$('.sumbit').click(function(){
//Получаем данные с формы
var files = $('.file-save').files;
function funcSuccess (data) {
//В случае успеха возвращает путь к картинки
console.log(data);
}
$.ajax ({
url: "ajax/save-photo",
type: "POST",
dataType: 'html',
data: files,
processData: false,
contentType : false,
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: funcSuccess,
});
});
//Код роутера
Route::post('/ajax/save-photo', 'Ajax\PhotoController@main');
Код контроллера
namespace App\Http\Controllers\Ajax;
use Illuminate\Support\Facades\Storage;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class PhotoController extends Controller
{
//
public function main(Request $request) {
//Загрузка файла
$path = Storage::putFile('public\avatars', $request->files('img'));
return $path;
}
}