2017-05-25 6 views
0

私はこのtutorialをフォローしましたが、私が望むディレクトリにアップロードするファイルを取得できません。それは成功したと言われていますが、ファイルはそのディレクトリにはありません。フラスコ内のアップロードファイルが動作しない

更新私は、ディレクトリの呼び出しを試してみて、修正するために、私のviews.pyを変えたが、今、私はこのエラーを取得する:

File "/home/jsnyder10/Documents/45/app/views.py", line 33, in uploader 
f.save(os.path.join(app.config['UPLOAD_FOLDER']),secure_filename(f.filename)) 
IOError: [Errno 21] Is a directory: '/home/jsnyder10/Documents/45/uploads' 

views.py

@app.route('/mobility_import_html') 
@login_required 
def mobility_import_html(): 
    return render_template('mobility_import_html.html') 


@app.route('/uploader', methods = ['GET', 'POST']) 
def uploader(): 
    if request.method == 'POST': 
     f = request.files['file'] 
     #f.save(secure_filename(f.filename)) 
     f.save(os.path.join(app.config['UPLOAD_FOLDER']),secure_filename(f.filename)) 
     print("f.filename", f.filename) 
     return 'success' 

mobility_import_html.html

{% extends "mobility.html" %} 

{% block mobility %} 
     <form action ="{{ url_for('uploader') }}" method = "POST" 
     enctype = "multipart/form-data"> 
     <input type = "file" name = "file" /> 
     <input type = "submit"/> 
     </form> 
{% endblock %} 

init .py

import os 
from flask import Flask 
from flask.json import JSONEncoder 
from flask_sqlalchemy import SQLAlchemy 
from flask_login import LoginManager 
from flask_mail import Mail 
from flask_babel import Babel, lazy_gettext 
from config import basedir, ADMINS, MAIL_SERVER, MAIL_PORT, MAIL_USERNAME, \ 
MAIL_PASSWORD 
from .momentjs import momentjs 

app.config["UPLOAD_FOLDER"] = os.path.join(basedir, 'uploads') 
+0

何が言います "それは言いますか"? [ask]を見てください – pvg

+0

チュートリアルにリンクする必要がありますが、ファイルを保存するためのファイルは表示されません。 – gonczor

+0

申し訳ありませんが、リンクを適切に貼り付けてはいけません。今投稿されています。 –

答えて

0

あなたのラインを保存するようなものでなければなりません:

f.save(os.path.join(app.config['UPLOAD_FOLDER'],secure_filename(f.filename)) 
関連する問題