相关疑难解决方法(0)

Flask:保存上传文件时出现IOError

我学习烧瓶中,我试图通过这里记录的上传文件模式工作:http://flask.pocoo.org/docs/patterns/fileuploads/.我在Windows 7上使用Firefox 12,并且在本地计算机上以调试模式运行我的应用程序.

我正在逐字复制示例,除了我定义的UPLOAD_FOLDER变量的值,UPLOAD_FOLDER = '/uploads'并创建了一个名为"uploads"的目录,该目录存在于应用程序根目录中(以及静态和模板目录).

上传文件后,我收到错误: IOError: [Errno 2] No such file or directory: '/uploads\\u.png'

有趣的是,如果我为uploads文件夹指定一个原始字符串,它直接指向我的机器上的上传,就像UPLOAD_FOLDER = r'C:\Python27\projects\Flask\myproject\uploads'一切正常.

我没有以正确的方式指定目录吗?上传目录应该放在其他地方吗?

python flask

11
推荐指数
2
解决办法
7229
查看次数

在Flask中保存上载仅保存到项目根目录

当我上传新文件时,它会保存到应用程序根文件夹,即使我指定了不同的文件UPLOAD_FOLDER.为什么配置不起作用?

views.py:

from flask import render_template
from flask import request, redirect, url_for,flash
from werkzeug.utils import secure_filename
from app import app
import os

APP_ROOT = os.path.dirname(os.path.abspath(__file__))
UPLOAD_FOLD = '/Users/blabla/Desktop/kenetelli/htmlfi'
UPLOAD_FOLDER = os.path.join(APP_ROOT, UPLOAD_FOLD)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER

@app.route('/')
def tmrf():
    return render_template('main.html')


@app.route('/uploader', methods=['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
        f = request.files['file']
        f.save(secure_filename(f.filename))
    return 'file uploaded successfully'
Run Code Online (Sandbox Code Playgroud)

__init__.py:

from flask import Flask

UPLOAD_FOLDER = ''
ALLOWED_EXTENSIONS = set('*.doc')

app = Flask(__name__)
app.config.from_object('config')
from app import views
Run Code Online (Sandbox Code Playgroud)

python flask

10
推荐指数
1
解决办法
1万
查看次数

除非路径是绝对路径,否则引用Flask应用程序中的目录不起作用

我将nltk数据下载到我的Flask应用程序的数据目录中.视图位于与数据目录相同级别的另一个目录中的蓝图中.在视图中,我正在尝试设置数据的路径,但它不起作用.

nltk.data.path.append('../nltk_data/')
Run Code Online (Sandbox Code Playgroud)

这不起作用.如果我使用整个路径,它确实有效.

nltk.data.path.append('/home/username/myapp/app/nltk_data/')
Run Code Online (Sandbox Code Playgroud)

为什么第一种形式不起作用?如何正确引用数据的位置?

python nltk flask

7
推荐指数
1
解决办法
6468
查看次数

标签 统计

flask ×3

python ×3

nltk ×1