Нужна помощь в следующем вопросе
Я использую модуль Python eel для создания простого приложения, которое принимает изображение через WEB интерфейс и сохраняет его в новом файле через Python. При передаче переменной с файлом в функцию Python, я получаю следующую ошибку
TypeError: expected str, bytes or os.PathLike object, not dict
Насколько я понимаю, Python воспринимает изображение как словарь, который нельзя сохранить в файл, так как функция open() принимает str, bytes or os.PathLike object
Вопрос в том, как правильно передавать изображение из JS в Python, чтобы с ним можно было дальше работать, например сохранять как новый файл?
Получаю изображения из HTML
$(document).ready(function(){
var dropZone = $('#upload-container');
dropZone.on('drag dragstart dragend dragover dragenter dragleave drop', function(){
return false;
});
dropZone.on('dragover dragenter', function() {
dropZone.addClass('dragover');
});
dropZone.on('dragleave', function(e) {
let dx = e.pageX - dropZone.offset().left;
let dy = e.pageY - dropZone.offset().top;
if ((dx < 0) || (dx > dropZone.width()) || (dy < 0) || (dy > dropZone.height())) {
dropZone.removeClass('dragover');
}
});
dropZone.on('drop', function(e) {
dropZone.removeClass('dragover');
let files = e.originalEvent.dataTransfer.files;
print_hello(files);
});
$('#file-input').change(function() {
let files = this.files;
print_hello(files);
});
})
Передаю переменную из JS в Python:
async function print_hello(files) {
let res = await eel.start_func(files)();
document.getElementById('helloprint').innerHTML = res;
}
Пытаюсь открыть и сохранить изображение в Python
import eel
#import os
#import json
#from PIL import Image
@eel.expose
def start_func(file):
with open(file, 'rb') as imgfile:
output = open("file02.jpg","wb")
output.write(imgfile.read())
output.close()
return "Файл получен"
eel.init("web")
eel.start("uniq.html", size=(1080, 1080))