2015-01-09 3 views
2

파일 업로드가 가능한 웹 응용 프로그램에서 여러 파일 업로드 (각각 약 5MB ~ 15MB)를 계속 사용하면 브라우저가 충돌하는 것으로 나타납니다. "메모리 부족"문제가 될 수 있습니다.메모리가 부족한 파일 업로드 및 Chrome (BROWSER)

버퍼 메모리로 읽음으로써 각 파일을 업로드 한 후에는 정리 작업을 수행해야합니까?

또한 현재 내 웹 앱의 브라우저 메모리에있는 내용을 어떻게 확인할 수 있습니까?

+1

xhr.send (theFile) 각 파일을 메모리로 읽어 들여 업로드를 청크하지 마십시오. 많은 사람들은 당신이 파일과 얼룩을 보낼 수 있다는 것을 깨닫지 못하지만, 그렇게하면 브라우저가 무거운 짐을 처리합니다. 이처럼 멀티 기가비트 영화 파일을 업로드했지만 FileReader()는 좋은 하루에 약 20 메가에서 빠져 나간다. FileReader() 또한 UI 속도를 느리게하지만 바이너리 파일 핸들을 보내지는 않습니다. – dandavis

+0

@dandavis - 듣기 좋은데 답변으로 게시해야합니다. 이 문제는 사용자가 여러 파일이나 디렉토리를 선택하고 원시 파일 데이터와 함께 메타 데이터를 보내려는 경우 여러 번 통과해야한다는 것입니다. 파일 구조 메타 데이터를 JSON으로 보내야하고 서버가 각 파일의 데이터를 별도로 전송하기 위해 업로드 경로에 추가 할 수있는 UUID 배열을 다시 보내야한다고 생각합니다. –

+0

@NickSotiros :이 경우 입력 된 모든 파일과 메타를 숨겨진 일반 입력 필드로 채워진

'xhr.send (elmForm)'을 사용할 수 있습니다. 일반 POST와 마찬가지로 서버에 도착해야합니다. – dandavis

답변

0

파일을 업로드 할 때 사용중인 모든 객체를 닫거나(), 중단(), 중단()해야하며 한 달 전에 비슷한 문제가 발생하고 모든 작업을 중단하고 모두 종료하도록 수정했습니다. 파일 이후의 오브젝트가 업로드되었습니다. 파일을 업로드 할 때 필요합니다! 내 대답은 당신을 도울 수 있기를 바랍니다.

관련 문제