Я хочу создать простой простой сервер, который принимает файлы разных типов от клиентов.Проблема в том, что я не могу получить имя файла, отправленное клиентом, поэтому все файлы сохраняются как 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» на сервере.
Есть ли способ также сохранить имя файла вместе сфайл?