FileInput导致ERR_ACCESS_DENIED与enctype =“multipart / form-data”和flask

时间:2015-06-02 10:15:05

标签: python html forms flask

在我简单的烧瓶学习实验中,我创建了一个包含用户名,电子邮件和文件上传的表单。此文件将邮寄给其他用户[基本上是一个excel表]

我的脚本工作正常,直到文件位置识别的最后一部分。现在我已经阅读了文件系统安全性的文档,论坛和API,并且一直在尝试使用request.files ['file']和enctype =“multipart / form-data”

我的PageView.html:

{% block content %}
<form class="form" action="" method="post" name="DeployerC1" enctype="multipart/form-data">
..
..
 <thead>
    <tr>
     <td class="text-left"><strong>Username</strong></td>
     <td class="text-left"><strong>Email</strong></td>
    </tr>
  </thead>
   <tbody>
    <tr>
     <td>{{Users.Userame}}</td>
     <td>{{Users.Email}}</td>
    </tr>
    <input type="file" name=file>
            <p class="help-block">Location of monthly report.</p>

。 .. 在views.py

@app.route('/Sendit', methods=['GET','POST'])
def Sendit():   
..
.       
    if request.method == 'POST':
            .
            ...
            .....
            CredDict = {'Username':Username,'Email':Email}
            for element in FinalList:
                    element.update(CredDict)                
            file = request.files['file']
            print file
            return redirect(url_for('Processed'))

    return render_template('blah.ah.blah')

现在,我面临的问题是,如果我使用enctype,那么当我点击Submit或Next时,我会得到ERR_ACCESS_DENIED。

如果没有enctype,下一页进展顺利,但只显示带有警告的文件名,我应该使用enctype。要访问filecontents [基本上存储在tmp中],我尝试使用request.files ['file'],但最终得到了ERR_ACCESS_DEINED。

我能想到的解决方法是使用单独的装饰文件和单独的html文件上传,但是,我不想这样做。 是否可以将用户名/电子邮件输入与文件输入一起使用,并使用request.files进行下一次提交?

以下是我计划用于将文件保存到tmp位置的代码部分

filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))

任何指示都会有所帮助。

非常感谢..

0 个答案:

没有答案