Я пытаюсь загрузить файл на сервер CherryPy, но не получаю ожидаемый тип объекта на стороне сервера:
HTML
...
<label class="btn btn-default btn-file">Browse
<input type="file" id="fpUploadSystemImage">
</label>
...
JS / JQUERY
$("#fpUploadConfig").change(function(event){
var fpUploadConfig = $("#fpUploadConfig")[0];
if ('files' in fpUploadConfig){
if(fpUploadConfig.files.length == 0){
console.log("uploadFiles.files.length == 0");
}
else{
var configFile = fpUploadConfig.files[0];
console.log(configFile);
uploadConfigFile(configFile);
}
}
});
function uploadSystemImageFile(file){
var fd = new FormData();
fd.append('systemImageFile', file);
jQuery.ajax({
type: 'POST',
url:"/uploadSystemImageFile",
data: fd,
processData: false,
contentType: false,
success: function(returnval) {
alert("New System File uploaded");
}
});
}
PYTON внутри объекта CherryPy
@cherrypy.expose
@cherrypy.tools.json_out()
def uploadSystemImageFile(self, systemImageFile=None):
print("<<uploadSystemImageFile>>", type(systemImageFile))
Ответ, который я получаю:
<<uploadSystemImageFile>> <class 'cherrypy._cpreqbody.Part'>
Как мне извлечь сам файл и сохранить на диск?Я хотел бы оставить HTML-часть такой, как есть, без использования «FORM-> SUBMIT», чтобы она соответствовала остальной части HTML-документа.