【问题标题】:Perform actions on uploaded file in Flask在 Flask 中对上传的文件执行操作
【发布时间】:2015-10-05 07:06:04
【问题描述】:

我想制作一个简单的 Flask 应用程序,它可以上传一个 .txt 文件,并显示其中的字母数。

我尝试了本教程,但没有成功: http://flask.pocoo.org/docs/0.10/patterns/fileuploads/

我的部分代码:

@app.route('/uploads/<filename>')



def uploaded_file(filename):
    f=send_from_directory(app.config['UPLOAD_FOLDER'],
                           filename)
    cout= Counter(letter for line in f 
                  for letter in line.lower() 
                      if letter in ascii_lowercase)
    return cout

我的日志:

类型错误 TypeError:“响应”对象不可迭代

【问题讨论】:

  • 请显示您的错误日志。

标签: flask


【解决方案1】:

send_from_directory 是提供文件的快捷方式。我假设您正在尝试读取您之前上传的文件。

import os

@app.route('/uploads/<filename>')
def uploaded_file(filename):
    with open(os.path.join(app.config['UPLOAD_FOLDER'], filename)) as f:
       cout = Counter(letter for line in f
                      for letter in line.lower()
                      if letter in str.ascii_lowercase)
    return cout

【讨论】:

  • 我试过了,现在我得到:TypeError: 'Counter' object is not callable
  • 顶部有from collections import Counter吗?
  • 你不能从端点返回任意东西。尝试使用jsonify(**cout)。不要忘记先导入它。
猜你喜欢
  • 1970-01-01
  • 2015-10-13
  • 1970-01-01
  • 2021-05-15
  • 1970-01-01
  • 1970-01-01
  • 2012-03-05
  • 1970-01-01
相关资源
最近更新 更多