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)包含所有上传的文件。

每个文件都包含在werkzeug FileStorage中;你可以.save()把它变成一个真实的文件(在你这样做之前它可能只是在内存中)。

有关更多信息,请参阅烧瓶文档Flask-Uploads扩展。

于 2012-09-15T17:26:49.727 回答