2017-12-12 3 views
0

POST 요청을 통해 백엔드에 파일을 업로드 할 수 있으며 파일이 너무 클 경우 Http 400 상태 코드를 반환합니다. 우편 배달부를 사용할 때 완벽하게 작동합니다. 나는 브라우저 (크롬)이 호출을 수행 할 때Angular에서 중단 된 업로드를 처리하는 방법은 무엇입니까?

, 나는이 오류 얻을 : 결과로

zone.js:2933 POST http://localhost:8080/backend/rest/upload/ net::ERR_CONNECTION_ABORTED

을 내 HttpErrorResponse 0의 상태 코드가 있습니다

HttpErrorResponse {headers: HttpHeaders, status: 0, statusText: "Unknown Error", url: null, ok: false, …}

This 대답은 문제, 를 설명합니다. 그러나이 문제를 어떻게 각도로 처리합니까? 내 HTTP 400 응답에 포함 된 반환 된 오류 메시지를 믿고 있었다 ...

+0

그냥 @처럼 Miam84 말했다. 파일 한도를 확인할 수 있습니다. 하지만 서버에 대한 자세한 정보를 제공 할 수 있습니까? 난 당신이 서버 측에서 그 문제를 처리해야한다고 생각해! 내가 생각하는 일부 구성 변경. –

+0

브라우저에서 파일을 업로드하는 경우에만 문제가 발생합니다. 별도의 휴식 클라이언트 (Postman)를 사용하여 작성한 것처럼 예상대로 400을 얻었습니다 – Tim

답변

0

API와 관련된 문제가 Angular 자체보다 ... API가이를 처리하고 적절한 400 오류를 반환해야한다고 생각합니다. .

해결 방법으로 UI를 개선하려면 파일 에서 각도 확인을 수행 한 후을 백엔드에 게시하십시오. 너무 큰 경우 게시물을 차단하고 사용자에게 알립니다.

이 같은 파일의 크기 속성에 액세스 할 수 있습니다 :이 각도 문제가되지 않습니다 노호

@Component({ 
    selector: 'my-app', 
    template: ` 
    <div> 
     <input type="file" (change)="onChange($event)"/> 
    </div> 
    `, 
    providers: [ UploadService ] 
}) 
export class AppComponent { 
    onChange(event) { 
    var files = event.srcElement.files; 
    console.log(files[0].size); 
    } 
} 
+0

그건 쉬운 해결책입니다 :-) 나는 연결이 중단되는 것을 막을 수있는 방법을 찾고있었습니다. – Tim

관련 문제