저는 파일 업로드 처리기 Catalyst를 작성하고 있습니다. 최대 파일 크기를 제한하려고합니다. 이렇게하려면 플러그인을 만들었습니다 (answer here 기준). 저는 여기에 파일 크기를 확인하는 코드입니다 :Catalyst에서 파일 크기를 기반으로 파일 업로드를 취소하는 방법
before 'prepare_body' => sub {
my $c = shift;
my $req = $c->request;
my $length = $req->headers->{"content-length"};
if ($length > 10000)
{
$c->stash->{errors} = "File upload error";
# how do I abort the upload?
}
};
이 올바르게 너무 큰 파일을 감지하지만 난 내 인생에 업로드를 중단하는 방법을 알아낼 수 없기 때문. 이상적으로 컨트롤러/액션에도 도달해야합니다. 누구든지 내게 포인터를 줄 수 있습니까? 고마워.
아니요, 'prepare_body'이전에 A) 요청 본문을 읽는 것을 멈추기에 충분히 일찍 B) 발송자가 실행되기 오래 전에 '$ c-> detach'와 '$ c-> stack' 모두 이 문맥에서는 의미가 없다. – hobbs