Larabel에서 최대 파일 크기를 검증하는 방법
Larabel에서 최대 파일 크기 500kb를 검증하려고 합니다.
$validator = Validator::make($request->all(), [
'file' => 'size:500',
]);
그러나 이 파일에는 정확히 500kb의 크기가 있어야 한다고 나와 있습니다.500kb보다 클 때 오류를 반환하도록 이 규칙을 편집하려면 어떻게 해야 합니까?
이거 해봤어요.
'file' => 'size:>=500'
'file' => 'size:max:500'
이 문서에서는 이에 대해 아무것도 설명하지 않았습니다.
크기: 값
검증 중인 필드의 크기가 지정된 값과 일치해야 합니다.문자열 데이터의 경우 값은 문자 수에 해당합니다.숫자 데이터의 경우 값은 지정된 정수 값에 해당합니다.파일의 경우 크기는 파일 크기(KB)에 해당합니다.
$validator = Validator::make($request->all(), [
'file' => 'max:500000',
]);
값은 킬로바이트 단위입니다.예.max:10240= 최대 10MB.
편집: 경고!이 답변은 XAMPP OsX 환경에서 작동했지만 AWS EC2에 배포했을 때 업로드 시도를 막지 못했습니다.
나는 이 답이 틀렸기 때문에 삭제하고 싶었지만, 대신 무엇이 나의 발목을 잡았는지 설명하겠다.
내 파일 업로드 필드의 이름은 'upload'이기 때문에 업로드에 실패했습니다라는 메시지가 나타납니다.이 메시지는 이 검증 행에서 발신됩니다.php:
자원 / 자원 / 자원 / 자원 / 유효화 / 유효화php:
'uploaded' => 'The :attribute failed to upload.',
이 메시지는 파일이 PHP에 의해 설정된 제한보다 클 때 표시됩니다.
보통 세 번째 파라미터 $messages 배열을 Validator::make() 메서드에 전달하면 이 메시지를 덮어씁니다.
단, 리액트 컴포넌트에서 POST를 호출하고 있기 때문에 POST에는 CSRF 필드와 업로드 필드가 포함된 폼을 렌더링합니다.
그 대신, 슈퍼 어중간한 해커로서 메시지를 표시하는 뷰에 들어가 그 특정 메시지를 친근한 '파일 너무 큰' 메시지로 대체하기로 했습니다.
파일이 PHP 파일 크기 제한보다 작을 경우 다음과 같이 동작합니다.
다른 사람이 Laravel FormRequest 클래스를 사용하고 있는 경우, Laravel 5.7에서 나에게 도움이 된 것은 다음과 같습니다.
커스텀 에러 메시지와 최대 파일사이즈를 설정하는 방법은 다음과 같습니다.
입력 필드가 있습니다.<input type="file" name="upload">CSRF 토큰은 형식(구글 laravel csrf_field)에서도 필요합니다.
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class Upload extends FormRequest
{
...
...
public function rules() {
return [
'upload' => 'required|file|max:8192',
];
}
public function messages()
{
return [
'upload.required' => "You must use the 'Choose file' button to select which file you wish to upload",
'upload.max' => "Maximum file size to upload is 8MB (8192 KB). If you are uploading a photo, try to reduce its resolution to make it under 8MB"
];
}
}
언급URL : https://stackoverflow.com/questions/37432641/how-to-validate-on-max-file-size-in-laravel
'programing' 카테고리의 다른 글
| 각각 $.를 사용하여 Json 데이터에 대한 jquery 루프 (0) | 2023.03.08 |
|---|---|
| 왜 반대하지 않는 거죠?키는 TypeScript에서 키 타입을 반환합니까? (0) | 2023.03.08 |
| BeCalledWith()를 기대하는 개체를 전달하는 중 (0) | 2023.03.03 |
| [ AngularJS group ]체크박스 검증 (0) | 2023.03.03 |
| WP rest api jwt 인증 (0) | 2023.03.03 |