0

dhtmlxアップローダーを使用してファイルをアップロードしています。

これが私のJSコードです

{type: "label",label: ""},
{type: "upload",name: "creatives",inputWidth: 330,
 url: "/upload_creative",
_swfLogs: "enabled",
 swfPath: "static/js/dhtmlxForm/codebase/ext/uploader.swf",
 swfUrl: "/upload_creative"
},  

これがファイルを受け取る私のPythonコードです。

@app.route('/upload_creative', methods=["GET", "POST"])
@login_required
def upload_creative():
    if request.method == "POST":
        print 'request.form', request.form

だから...Pythonから....ディスクに保存できるようにファイルの名前を取得するにはどうすればよいですか?画像ファイルを期待しています。

アップロードすると、ログにこれが表示されます。

request.form ImmutableMultiDict([])
127.0.0.1 - - [15/Sep/2012 23:59:56] "POST /upload_creative?mode=html5&1347724796791 HTTP/1.1" 200 -
4

2 に答える 2

2
from flask import request
...

imgfile = request.files['file-id']
imgname = imgfile.filename
于 2012-09-15T17:22:18.223 に答える
0

request.filesの代わりに使用する必要がありますrequest.form

request.filesは、アップロードされたすべてのファイルを含むdictのようなオブジェクト(ImmutableMultiDict正確には、のように)です。request.form

各ファイルはwerkzeugFileStorageに含まれています。実際のファイルに保存でき.save()ます(そうするまではメモリ内にある可能性があります)。

詳細については、flaskのドキュメントFlask-Uploads拡張機能を参照してください。

于 2012-09-15T17:26:49.727 に答える