Отправьте файл и имя файла с помощью Python - PullRequest
3 голосов
/ 08 марта 2019

Я хочу создать простой простой сервер, который принимает файлы разных типов от клиентов.Проблема в том, что я не могу получить имя файла, отправленное клиентом, поэтому все файлы сохраняются как 1 имя файла, независимо от того, какой файл вызывается.

Это мой client.py:

import socket
with socket.socket() as s:
    s.connect(('192.168.1.2',10000))
    with open('Image.jpg','rb') as f:
        s.sendall(f.read())

А это мой server.py:

import socket
print("Server started")
while True:
        with socket.socket() as s:
            s.bind(('192.168.1.2',10000))
            s.listen(1)
            with s.accept()[0] as c:
                chunks = []
                while True:
                    chunk = c.recv(4096)
                    if not chunk: break
                    chunks.append(chunk)
                    print("Receiving file")
            with open('Image.jpg','wb') as f:
                f.write(b''.join(chunks))
                print("File Received")

, который отлично работает.Проблема начинается с того, что если я отправлю другой файл, например «data.csv», он все равно будет сохранен как «Image.jpg» на сервере.

Есть ли способ также сохранить имя файла вместе сфайл?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...