- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我关注了this通过 Flask 将文件上传到网络服务器的教程,返回部分除外。
我的本意是上传图片。
这是我的代码:
from flask import Flask, request, jsonify, json, Blueprint, redirect, url_for, send_from_directory
from werkzeug import secure_filename
app = Flask(__name__)
allowed_extensions = set(['png', 'jpg', 'jpeg', 'gif', 'bmp'])
folder_upload = '/Users/myusername/Documents/Project_Upload/'
@CustomersAPI.route('/customers/addpicture', methods=['POST'])
def add_picture():
file = request.files['value']
print file.filename
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 str(url_for('uploaded_file', filename=filename))
return "Unable to upload."
def allowed_file(filename):
return '.' in filename and filename.rsplit('.', 1)[1] in allowed_extensions
if __name__ == '__main__':
app.config['UPLOAD FOLDER'] = folder_upload
app.run(host = '0.0.0.0', debug=True)
因为我还没有 HTML 文件(因此注释掉了 return redirect
),我使用 CocoaRestClient 进行测试,这里是我使用的参数:
到目前为止一切正常,直到我点击提交按钮。然后,出现如下错误:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/flask/app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "/Library/Python/2.7/site-packages/flask/app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/Library/Python/2.7/site-packages/flask/app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "/Library/Python/2.7/site-packages/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/Library/Python/2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/Library/Python/2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/Library/Python/2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "/Library/Python/2.7/site-packages/flask/app.py", line 1461, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/Users/myusername/Documents/Project_Omnimoda/API/main.py", line 192, in add_picture
return redirect(url_for('uploaded_file', filename=filename))
File "/Library/Python/2.7/site-packages/flask/helpers.py", line 312, in url_for
return appctx.app.handle_url_build_error(error, endpoint, values)
File "/Library/Python/2.7/site-packages/flask/app.py", line 1641, in handle_url_build_error
reraise(exc_type, exc_value, tb)
File "/Library/Python/2.7/site-packages/flask/helpers.py", line 305, in url_for
force_external=external)
File "/Library/Python/2.7/site-packages/werkzeug/routing.py", line 1649, in build
raise BuildError(endpoint, values, method)
BuildError: ('uploaded_file', MultiDict([('filename', '3611571-dc_holiday.jpg')]), None)
有趣的是,图像“3611571-dc_holiday.jpg”实际上确实从我的下载文件夹复制到了 Project_Upload 文件夹,所以它起作用了,只是出现了一个我不确定如何解决的错误。
有什么想法吗?谢谢。
最佳答案
您还没有定义 uploaded_file
端点。你需要这样做。
@CustomersAPI.route('/customers/SOMETHINGOGESTHERE')
def uploaded_file(filename):
# Do something here with the file, like return it.
return send_from_directory(
folder_upload, filename, as_attachment=True)
关于Python Flask,上传文件 - raise BuildError(endpoint, values, method),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31271843/
我在 Windows 10 机器上使用 Visual Studio 2017 Community。 当我将 .net 标准库(只是默认代码)添加到我的解决方案时,该解决方案在 Visual Studi
当我转到我的“login.html”页面时,我收到了一个 werkzeug.routing.BuildError。问题似乎是模板中的“action=”属性。最初是 action={{url_for('
我正在尝试使用 Flask-Menu 和 Flask-Breadcrumbs 创建一个包含导航栏的网站。装饰器的使用方式如下( Flask-Menu 示例): @app.route('/') @men
我在网站上使用 URL 参数作为用户数据的标识符。如果用户单击网站上的一个特定链接,这些参数将为“无”,我尝试使用以下函数将它们发送回具有正确参数的同一页面: Site @app.route('/my
我修改了flaskr示例应用的登录,第一行报错。但是 www.html 在模板目录中。 return redirect(url_for('www')) #return redirect(url_for
如何使用 MongoEngine 和 Flask-Marshmallow 制作我的 RESTFul API HATEOAS? 我在用 class PraiaSerializer(ma.Schema):
我创建了一个 Web API 来呈现带有导航的网页。下面是我的代码 from flask import Flask, render_template, request app = Flask(__na
所以,我在 flask-restful 和 fields.Url 中遇到了一些奇怪的错误,我无法真正弄清楚为什么会出现这种错误,因为它是随机发生的。当正常运行我的应用程序时,它似乎不会发生,并且只会在
我正在为 flask 构建一个简单的扩展,但 url_for 函数无法在扩展中构建 url 时遇到问题。 有人可以帮我弄清楚我在这里缺少什么吗? 我简化了代码来演示这个问题(所有 url_for 调用
我关注了this通过 Flask 将文件上传到网络服务器的教程,返回部分除外。 我的本意是上传图片。 这是我的代码: from flask import Flask, request, jsoni
运行命令 sudo npm install socket.io 时,我得到以下输出。 > ws@0.4.31 install /Users/xafar/Documents/projects/node/
我的 Web 服务器(带有 mod_wsgi 的 apache)上的 Flask 出现问题: [Sat Nov 30 20:19:45 2013] [error] ERROR:app:Exceptio
"werkzeug.routing.BuildError: Could not build url for endpoint 'success'. Did you forget to specify
所以我有一个这样设置的 View : class toi(FlaskView): def index(self): ... return ren
我想在我的笔记本电脑上本地运行 jekyll。我按照 Github 的指南去做了,https://help.github.com/articles/using-jekyll-with-pages不幸的
我正在尝试在我的 gemfile 及其依赖项中安装所有 gem,因此只需运行 Bundler(捆绑或捆绑安装)。使用原生扩展安装 nio4r 1.1.1 时失败,下面是登录 gem_make.out。
我正在尝试在 Mavericks 上安装以下 gem 版本 libv8 (3.16.14.3) therubyracer (0.12.1) 显然 therubyracer gems 依赖于 libv8
我想改编精彩的Tutorial from Miguel Grinberg创建一个 unittest 测试执行器。我主要只是根据我的需要调整了 Miguel 的代码,但是在字段映射中生成 uri 时遇到
当我尝试在我的站点上转到 index.html 时出现以下错误。该网站的模板来自 https://blog.miguelgrinberg.com/post/the-flask-mega-tutoria
我知道有一些问题,我读了它,但没有找到解决方案,并且我得到的输出与其他用户不同,因为我没有收到任何有关 Microsoft 或其他的消息事情。 我收到的消息是: > ws@0.5.0 install
我是一名优秀的程序员,十分优秀!