Я работаю над проектом, в котором клиент должен иметь возможность щелкнуть ссылку для загрузки пакетного файла с другого сервера.
Поэтому моя проблема заключается в том, что содержимое пакетного файла отображается в виде текста внутриChrome - но не загружает вложение, как я хочу (например, кнопка Сохранить как).
Я пытался использовать атрибут загрузки HTTP, но это работает только по относительному пути, а не http://example.com/batch.bat
<a href="http://100.100.100.10:8000/L33480.bat" download="" target="_blank">Download batch</a>
Я наткнулся на похожие посты, но, похоже, ни одна из них не решила мою проблему.
Вот мой код прямо сейчас.Однако файлы ведут себя так же, как если бы я просто набрал обычный python -m http.server
, отображающий содержимое пакетного файла в Chrome.
from http.server import BaseHTTPRequestHandler, HTTPServer
class MyServer(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'application/bat')
self.send_header('Content-Disposition', 'attachment; filename="test.bat"')
self.end_headers()
# Open the file
with open('/myFile.bat', 'rb') as file:
self.wfile.write(file.read()) # Read the file and send the contents
myServer = HTTPServer(('localhost', 8000), MyServer)
myServer.serve_forever()
myServer.server_close()