使用Filepond库时看不到所选文件

时间:2019-07-01 13:13:24

标签: python flask filepond

我正在尝试使用filepond库上传文件。我正在使用python flask作为后端。

这是我试图用来获取文件的代码

idf_values = {k:(1 if kin zero_terms else v+1 if k in nonzero_terms else v) for k, v in idf_values}

这总是向我返回一个空数组。

以下是我的html代码:

uploaded_files = request.files.getlist("file")
print("Uplaoded Files are")
print(uploaded_files)

我还链接了JS和CSS的文件池库。

请帮助我找出问题所在。

2 个答案:

答案 0 :(得分:0)

FilePond不会更新原始输入字段,因为不幸的是这是不可能的(浏览器不允许写入字段的filesvalue属性)。

因此,您要么必须异步上传文件(这就是server属性的作用),要么就必须将文件编码为base64字符串(您可以使用file encode plugin来做到这一点)并通过经典的表单帖子发送,然后在服务器上将其解码。

答案 1 :(得分:-1)

无需Filepond,这是一个有关如何使用flask实现文件上传的简单示例:

  1. HTML代码

    <input type="file" name="file"> // of course remember the name you'll use for your input
    </form>```
    
  2. 烧瓶代码

@app.route('/your_endpoint', methods = ['POST'])
def my_super_duper_endpoint():
if 'file' not in request.files:
    print('the form you sent had no file input')
file = request.files['file']
if file.filename == '':
    print('No filewas selected, which means there was a file input but the user sent the form without selecting any file')
if file:                    # yeeeey we got where we wanted to get
    print(file.filename)    # because you see the file name you'll chill cuz you know it was sent and recieved
    filename = secure_filename(file.filename)          #for some little extra security
    file.save(os.path.join('the path where you want to save the file, ./static for instance', filename))
return something
  1. 一些小东西可以使事情发展:
from werkzeug import secure_filename
import os

瞧,它对我有用,所以我希望它能帮到您。