【发布时间】:2020-10-23 06:04:27
【问题描述】:
我正在尝试使用瓶子框架读取文件。
代码:
@app.route('/test/upload')
def upload():
return template('upload')
@app.route('/test/upload', method='POST')
def upload():
url = request.forms.get('url')
filename = request.files.get('filename')
name, ext = os.path.splitext(filename.raw_filename)
print(name)
....
return template('veredict', v = veredict)
app.run(host='localhost', port=8080, debug=True, reloader=True)
以及处理上传的 HTML 代码部分:
<form action="/test/upload" method="post" enctype="multipart/form-filename">
<div class="form-group">
<input type="text" class="form-control-plaintext" id="url" placeholder="Enter URL" name="url">
<h6>Or submit a file containing URLs:</h6>
<input type="file" name="filename">
<div class = "mt-3">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
</form>
当我运行我的程序时,我收到以下错误:
文件“fileup.py”,第 45 行,上传中 名称,分机 = os.path.splitext(filename.raw_filename) AttributeError:“NoneType”对象没有属性“raw_filename” 127.0.0.1 - - [02/Jul/2020 11:13:28] “POST /test/upload HTTP/1.1”500 1417
我意识到我的错误与我在文件中的读取方式有关(变量“文件名”为空,我只是不确定如何修复它。
感谢任何帮助!
【问题讨论】:
-
据我所知,这个错误不应该发生。您确定这是提交的表单,而不是其他表单吗?
-
@JohnGordon 是的,我很确定。当我以纯文本(例如 url)阅读时,该程序可以工作,但由于某种原因,它无法正确处理文件类型输入
标签: python html frameworks bottle