2017-03-02 5 views
0

私はweb2pyを使用しています。私はpydalの最新バージョンをクローンしました。私は自分のテーブルに「アップロード」フィールドを定義します。次に、ファイル名が中国語の画像をアップロードします。これまでのところすべてが大丈夫です。しかし、ダウンロードしたファイルにアクセスしようとすると、サーバーエラーが発生します。私はこのエラーを避けるために2つの解決策を見つけました。最初の解決策はフルネームを英文字に変更し、2番目の解決方法はpydalをweb2pyに埋め込まれた古いバージョンにダウングレードしています(2.14.6、5月のリリース、10,2016)。ですから、中国語の文字でファイル名を扱うときは、最新のpydalで何か間違っていると思います。あなたの答えを得ることを願っています。ありがとうございました。web2py/pydal.Dアップロードされたファイルの元のファイル名が中国語の場合、アップロードされたファイルエラーを受け取ります。

答えて

1

ここでの問題は実際にHTTPと関係がありますか? response.downloadはあなたのファイル名をContent-Dispositionに入れ、多くのブラウザがそれを受け入れますが、ここではASCIIだけが実際に受け入れられます。

問題が解決した場合、解決方法はdownload_filenameを渡してパーセント記号で中国語文字をエンコードすることです。あなたのダウンロード機能では、次のようなことをします:

def download(): 
    import urllib 
    return response.download(request, db, download_filename=urllib.quote(request.args(0)) 

私は実際にテストしていませんが、動作するはずです。

+0

https://github.com/web2py/web2py/pull/1575問題を解決してください。 –

関連する問題