我正在一个项目中,客户需要单击链接才能从另一台服务器下载批处理文件。
所以我的问题是,批处理文件的内容在Chrome中显示为文本-但没有像我希望的那样下载附件(例如另存为按钮)。
我尝试使用HTTP下载属性,但这仅适用于相对路径,不适用于http://example.com/batch.bat
<a href="http://100.100.100.10:8000/L33480.bat" download="" target="_blank">Download batch</a>
我偶然发现了类似的帖子,但是似乎没有一个解决我的问题的。
这是我的代码。但是,文件的行为与我刚键入通常在Chrome中显示批处理文件内容的python -m http.server
时的行为相同。
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()