繁体   English   中英

上传烧瓶中的文件不起作用

[英]upload file in flask not working

我按照本教程,但无法将文件上传到我想要的目录。 它说这是成功的,但文件不在它应该的目录中。

更新我更改了我的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')

您的保存行应该是这样的:

f.save(os.path.join(app.config['UPLOAD_FOLDER'],secure_filename(f.filename))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM