私はweb2pyを使用しています。私はpydalの最新バージョンをクローンしました。私は自分のテーブルに「アップロード」フィールドを定義します。次に、ファイル名が中国語の画像をアップロードします。これまでのところすべてが大丈夫です。しかし、ダウンロードしたファイルにアクセスしようとすると、サーバーエラーが発生します。私はこのエラーを避けるために2つの解決策を見つけました。最初の解決策はフルネームを英文字に変更し、2番目の解決方法はpydalをweb2pyに埋め込まれた古いバージョンにダウングレードしています(2.14.6、5月のリリース、10,2016)。ですから、中国語の文字でファイル名を扱うときは、最新のpydalで何か間違っていると思います。あなたの答えを得ることを願っています。ありがとうございました。web2py/pydal.Dアップロードされたファイルの元のファイル名が中国語の場合、アップロードされたファイルエラーを受け取ります。
0
A
答えて
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))
私は実際にテストしていませんが、動作するはずです。
関連する問題
- 1. ajax jqueryファイルのアップロードを使用してファイルがアップロードされた場合、アップロードされたファイル名を取得する方法
- 2. Codeigniter - アップロードされたファイル名を取得
- 3. 名前の競合を避ける方法アップロードされたファイル
- 4. フォームフロー内にアップロードされたファイルを受け取る方法
- 5. Docusignスタンプ/アップロードされたドキュメントのファイル名
- 6. アップロードされたファイル名のエンコード
- 7. アップロードされたファイル
- 8. 変更されたファイル名でJSPファイルがアップロードされる
- 9. アップロードされたファイル名:日本語の文字コード
- 10. アップロードされた画像ファイル名を
- 11. 読み取りアップロードされたファイル名は、java
- 12. アップロードされたファイルが開きます
- 13. grails(バックエンド)のangularjsからアップロードされたファイルを受け取る方法は?
- 14. アップロードされたファイルを取得し、
- 15. 移動アップロードされたファイルのエラーが
- 16. Blueimpは、私は名前やアップロードしたファイルのURLを回復する必要がアップロードされたファイル名
- 17. アップロードされたファイルが保存されている場所
- 18. アップロードされたPHPファイル名が印刷されない
- 19. ワードプレスは、アップロードされたファイル
- 20. レールクリップ:アップロードされたファイルは
- 21. Jmeterでスクリプトが実行された場合にファイルがアップロードされない
- 22. 再生フレームワークでアップロードされたファイル名を取得する2.5
- 23. imagefieldにアップロードされたファイルのファイル名を取得する方法は?
- 24. 最後にアップロードされた複数のファイル、または今日のアップロードされたファイルを、pythonコード
- 25. 画像が(私に中国語)ÁÕ1.gifに変換された私のウェブサイト上(ギリシャのファイル名を持つ)の画像ファイルをアップロードした後、ウェブサイト
- 26. ファイルのアップロード時にファイル名が変更されています
- 27. ファイルパラメータとしてアップロードされたファイルの元の名前へのアクセス
- 28. アップロードされたファイルのフォルダの構造
- 29. アップロードされたファイルのフォルダのリンク
- 30. LaravelのAuthクラスからアップロードされたファイルの場所を取得します
https://github.com/web2py/web2py/pull/1575問題を解決してください。 –