16686

[code]

    <a href="/tmp/kMEHGrEW1Ch0rCyerXjGkJxELhA6Dgfw/kMEHGrEW1Ch0rCyerXjGkJxELhA6Dgfw.zip">ファイルダウンロード</a>`
    
[/code]

というリンクをhtmlに埋めこみドキュメントルートから`tmp/kMEHGrEW1Ch0rCyerXjGkJxELhA6Dgfw/kMEHGrEW1Ch0rCyerXjGkJxELhA6Dgfw.zip`に存在するファイルをダウンロードさせようとましたが、`404
NotFound`エラーが出てしまいます。  
urlは`http://localhost:8080/tmp/kMEHGrEW1Ch0rCyerXjGkJxELhA6Dgfw/kMEHGrEW1Ch0rCyerXjGkJxELhA6Dgfw.zip`となっていて、ファイルも存在しますができません。なぜでしょうか。

追記

OS:Mac OS X  
Webサーバー:PythonのBottleフレームワークのテスト用サーバー  
tmpディレクトリのパーミッション:drwxr-xr-x  
kMEHGrEW1Ch0rCyerXjGkJxELhA6Dgfwのパーミッション:drwxr-xr-x  
kMEHGrEW1Ch0rCyerXjGkJxELhA6Dgfw.zipのパーミッション:-rw-r--r--


CC BY-SA 3.0
2015-09-16T03:28:02.840
16672
2015-09-16T08:56:30.553
2015-09-16T08:56:30.553
10492
7232
question
python html bottle
HTMLからファイルをダウンロードできない


解決しました。  
ルートを追加し、Force Downloadという仕組みを使うことで実装できました。

[code]

    @app.route('/tmp/<dirname:path>/<filename:path>', method='GET')
    def download(dirname, filename):
        name, ext = os.path.splitext(filename)
        root = os.path.dirname(os.path.abspath(__file__))+'/tmp/'+dirname+'/'
        return static_file(filename, root=root)
    
[/code]

参考URL:<http://bottlepy.org/docs/dev/bottle-docs.pdf>


CC BY-SA 3.0
2015-09-16T08:50:46.957
16686
2015-09-16T08:50:46.957
7232
16672
answer