重複の可能性:
応答としてファイル名を設定する方法
私はMongoDBにファイルを保存しています。Pyramidからファイルを提供するには、次のようにします。
# view file
def file(request):
id = ObjectId(request.matchdict['_id'])
collection = request.matchdict['collection']
fs = GridFS(db, collection)
f = fs.get(id)
filename, ext = os.path.splitext(f.name)
ext = ext.strip('.')
if ext in ['pdf','jpg']:
response = Response(content_type='application/%s' % ext)
else:
response = Response(content_type='application/file')
response.app_iter = FileIter(f)
return response
この方法を使用すると、ファイル名はデフォルトでObjectId
ファイルの文字列になりますが、これはきれいではなく、正しいファイル拡張子がありません。ドキュメント内でResponse
オブジェクト内のファイルの名前を変更する方法/場所を確認しましたが、表示されません。どんな助けでも素晴らしいでしょう。