だが、私はlhosts
という名前のファイルがあり、そしてそれは実行可能だとしましょう:`send_file()`を使ってファイルのパーミッションを保持するには?
-rwxr-xr-x 1 kevin kevin 2.4K Apr 27 21:16 lhosts*
そしてここFlask.send_file()
を使用してファイルを送信するために私のコードだ:
#!/usr/bin/env python3
from flask import Flask, send_file
app = Flask(__name__)
@app.route('/lhosts')
def lhosts():
return send_file('scripts/lhosts')
app.run(debug=True)
しかし、私がしようとしているときクライアントにファイルを送信すると、許可を保持しません。許可は実行不能になります:
> wget 'http://127.0.0.1:5000/lhosts' --preserve-permissions
--2016-04-27 22:27:39-- http://127.0.0.1:5000/lhosts
Connecting to 127.0.0.1:5000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2381 (2.3K) [application/octet-stream]
Saving to: ‘lhosts’
lhosts 100%[================================================================>] 2.33K --.-KB/s in 0s
2016-04-27 22:27:39 (76.7 MB/s) - ‘lhosts’ saved [2381/2381]
> ls -lh lhosts
-rw-r--r-- 1 kevin kevin 2.4K Apr 27 21:16 lhosts
ファイルを実行可能にするにはどうすればよいですか?
HTTP応答がどのようにアクセス許可を示す必要がありますか?クライアントがWindows上にあるときにサーバーがGNU/Linux上にある場合はどうなりますか? –
許可を保持したい場合は、送信する前にファイルを圧縮するためにコードをビューに追加することができます。受信者が解凍すると、古い許可が必要です。 – Bastian