没有这样的文件或目录:/uploads
No such file or directory: /uploads
我已经查看了其他几个问题,但无法弄清楚出了什么问题。我收到以下错误:"FileNotFoundError: [Errno 2] No such file or directory: '/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 %}
/uploads
表示绝对 link (C:/upload),所以你应该使用 upload/
代替。
此外,您可以使用
中的精彩片段
APP_ROOT = os.path.dirname(os.path.abspath(__file__))
UPLOAD_FOLDER = os.path.join(APP_ROOT, 'static/uploads')
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
刚刚从评论中意识到我的上传目录与我的 run.py 文件位于同一目录中,而不是 index.html 来自 运行 的 'templates' 目录。我修改了
UPLOAD_FOLDER = '/uploads'
到
UPLOAD_FOLDER = './uploads'
我现在将着手构建 "url for endpoint"
感谢您的帮助。
我已经查看了其他几个问题,但无法弄清楚出了什么问题。我收到以下错误:"FileNotFoundError: [Errno 2] No such file or directory: '/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 %}
/uploads
表示绝对 link (C:/upload),所以你应该使用 upload/
代替。
此外,您可以使用
中的精彩片段APP_ROOT = os.path.dirname(os.path.abspath(__file__))
UPLOAD_FOLDER = os.path.join(APP_ROOT, 'static/uploads')
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
刚刚从评论中意识到我的上传目录与我的 run.py 文件位于同一目录中,而不是 index.html 来自 运行 的 'templates' 目录。我修改了
UPLOAD_FOLDER = '/uploads'
到
UPLOAD_FOLDER = './uploads'
我现在将着手构建 "url for endpoint"
感谢您的帮助。