내 응용 프로그램에는 파이썬 (bottle.py) 백엔드와 html/jquery 프론트 엔드가 있습니다. 양식에서 '입력'을 사용하여 텍스트 파일을 받고 있는데, 파이썬 측에서 이벤트 처리기를 사용하여 백그라운드에서 업로드하고 있습니다. 그런 다음 이벤트 핸들러가 파일을 구문 분석하고 (반복적으로 file.readline()
을 호출) json 형식의 결과를 반환합니다.Python에서 jQuery formdata 구문 분석
파이썬에서 파일을 구문 분석 할 때까지 모든 것이 잘 진행됩니다.
function UploadFile() {
var file = $('#data')[0].files[0];
var formData = new FormData();
formData.append("file", file);
$.ajax({
url: 'plates',
type: 'POST',
data: formData,
cache: false,
contentType: false,
processData: false,
success: function(data){
...
}
});
}
내가 파이썬 측의 POST 요청을받을
, 나는 단지request.body.read().decode()
그것을 읽을 수 있습니다 :
여기 내 자바 스크립트입니다.
socket.error: [Errno 32] Broken pipe
난 그냥, request.body.read().decode()
와 텍스트를 얻을 파일을 다음로드 및 구문 분석 저장할 수 있습니다 : 나는 request.files.data.file.read()
을 시도하고 있다면, 나는 '깨진 파이프'오류가 발생하고있다. 그러나 나는 창조 할 필요가없는 파일을 만드는 것을 피하고, 모든 것을 메모리에서하고 싶다.
request.body.read().decode()
이 작동하고 request.files.data.file.read()
이 왜 작동하지 않습니까? 파일을 디스크에 쓰지 않고 기존 기능으로 파일을 구문 분석 할 수있는 방법이 있습니까?