Я отправляю изображения с клиента на сервер, где я сохраняю их в файловой системе и помещаю путь в свою базу данных.Я могу открыть изображение, как только получу его от клиента, но если я запустлю другой код, чтобы попытаться открыть изображение из пути к файлу, полученного из базы данных, изображение не откроется.
Я используюbase64 для кодирования и отправки через мой сокет, но приму любые советы на этот счет.
term = '%'+'imagem0'+'%'
query1 = c.execute('SELECT picturepath FROM imagensdb WHERE picturepath LIKE ?', (term,))
data1 = query1.fetchone()
for row in data1:
print(row)
lopath = row
with open(lopath, 'rb') as input_file:
photostr = base64.b64encode(input_file.read())
print(len(photostr))
print('photostr =', photostr)
photostr1 = base64.b64decode(photostr) //edit, line added
image_result = open('requestedphoto.png', 'wb')
image_result.write(photostr1) //also edited (photostr for photostr1)
'imagem0.png' будет именем картинки.Я ожидаю, что «требуемая фотография.png» будет открыта, но я получаю «Неустранимая ошибка чтения файла изображения PNG: не файл PNG».
Заранее спасибо!
@Edit: отредактировал код de, и, кажется, он работает нормально, НО я должен дважды запустить код de.Во-первых, изображение загружено не полностью.Запуск снова, тогда я могу открыть файл .png в обычном режиме.Понятия не имею, почему.