Я использую Laravel 5.7
Я пытаюсь загрузить файл изображения и проверяю его загрузку, используя встроенную проверку laravel. Он продолжает отвечать 'The file failed to upload.'
Я использую AJAX для загрузки этих данных. Моя форма имеет enctype="multipart/form-data"
набор.
Я уже решил включить токен CSRF в запрос AJAX.
Я уже исправил проблему php.ini
max_file_size, и файлы, с которыми я тестирую, намного меньше 10 МБ.
Если я загружаю текстовый файл (в качестве примера), и с проверкой, установленной на required|image|max:10000
, это корректно предотвратит загрузку файла и ответит 'File must be an image.'
Если я отключу проверку all , файл будет загружен просто отлично.
Я не могу думать ни о чем другом, я могу поступать неправильно. Пожалуйста, помогите, так как мой проект сейчас остановлен.
Форма HTML:
<form method="post" class="dropzone" action="{{ route('images') }}" enctype="multipart/form-data"
data-nopants-load="dropzone{'transformImage':true,'acceptedFiles-1':'image/jpg','previewsContainer':'#dropzone-previews'}">
@method('post')
@csrf
<div class="dz-border">
<div class="background"></div>
<div class="border"></div>
</div>
<div class="dz-message margins-auto _font-size-large"><span>Drop Images here or <span class="_underline">Click</span> to Upload.</span></div>
<div class="fallback flex-col">
<div class="self-center margin-bottom">
<input name="file" type="file" class="form-input" multiple />
</div>
<button type="submit" class="button -call">Upload</button>
</div>
</form>
UploadImageFormRequest.php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
class UploadImageFormRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return Auth::check();//user()->can('create', Organization::class);
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return ['file' => 'required|image|mimes:jpeg,bmp,png'];
}
}
UploadImagesController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests\UploadImageFormRequest;
class UploadImagesController extends Controller
{
public function __construct()
{
$this->middleware('auth:user,admin');
}
public function store(UploadImageFormRequest $request){
//Wont get here...
}
}