【发布时间】:2016-03-15 15:37:08
【问题描述】:
我查看了其他几个问题,但无法弄清楚出了什么问题。我收到以下错误:“FileNotFoundError:[Errno 2] 没有这样的文件或目录:'/uploads\MRRtest.csv'”有人可以帮忙吗?错误信息中的正斜杠和反斜杠有什么区别?
谢谢
from flask import Flask, render_template, request, redirect, url_for, flash
from flask.ext.bootstrap import Bootstrap
from werkzeug import secure_filename
import os
app = Flask(__name__)
bootstrap = Bootstrap(app)
UPLOAD_FOLDER = '/uploads'
ALLOWED_EXTENSIONS = set(['csv'])
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
def allowed_file(filename):
return '.' in filename and \
filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
file = request.files['file']
if file and allowed_file(file.filename):
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'],filename))
return redirect(url_for('uploaded_file', filename=filename))
return render_template('index.html')
我的 index.html 模板如下:
{% extends "base.html" %}
{% block title %}Flasky{% endblock %}
{% block page_content %}
<div class="page-header">
<h1>Upload File</h1>
<form action="" method=post enctype=multipart/form-data>
<p><input type=file name=file>
<input type=submit value=Upload>
</form>
</div>
{% endblock %}
【问题讨论】:
-
您使用的是什么操作系统?这也是你的完整代码吗? MRRtest 这个名字是怎么来的?
-
我使用的是 Windows 10 和 python 3。我的视图有一个索引 html 文件,MRRtest.csv 是我使用该文件上传的文件
-
刚刚意识到索引文件在模板中,而我的“上传”目录与 run.py 文件位于同一目录中。因此,我将 UPLOAD FOLDER = 更改为 './uploads"