我正在尝试使用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的文件池库。
请帮助我找出问题所在。
答案 0 :(得分:0)
FilePond不会更新原始输入字段,因为不幸的是这是不可能的(浏览器不允许写入字段的files
或value
属性)。
因此,您要么必须异步上传文件(这就是server
属性的作用),要么就必须将文件编码为base64字符串(您可以使用file encode plugin来做到这一点)并通过经典的表单帖子发送,然后在服务器上将其解码。
答案 1 :(得分:-1)
无需Filepond,这是一个有关如何使用flask实现文件上传的简单示例:
HTML代码
<input type="file" name="file"> // of course remember the name you'll use for your input
</form>```
烧瓶代码
@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
from werkzeug import secure_filename
import os
瞧,它对我有用,所以我希望它能帮到您。