我的應用程序有一個python(bottle.py)後端和一個html/jquery前端。 我得到一個文本文件,在表單中使用'input'並在後臺上傳它,在python端使用事件處理函數。事件處理程序然後解析該文件(重複調用file.readline()
)並返回一些json形式的結果。解析Python中的jQuery formdata
一切順利,直到我需要解析python文件。
這裏是我的javascript:
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()
閱讀。如果我想request.files.data.file.read()
,我得到了「斷管」的錯誤:
socket.error: [Errno 32] Broken pipe
我剛剛得到的文本與request.body.read().decode()
,將它們保存到文件,然後加載並解析。但我想避免創建不需要創建的文件,並且想要在內存中執行所有操作。
爲什麼request.body.read().decode()
工作和request.files.data.file.read()
不? 有沒有辦法用我現有的功能解析文件,而不寫入磁盤?