问题标签 [flask-uploads]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
10708 浏览

python - 使用 flask-uploads 上传文件

我正在尝试使用flask-uploads扩展名上传文件。问题是,每次似乎找到解决方案时,我都会资助另一个问题,而且我觉得文档很神秘。

这是代码:

当前错误仅给出:

我什么都没有了!使用此扩展是否有任何问题,因为我在任何地方都找不到合适的代码来提供完整的解决方案(从上传开始到将文件保存在文件夹中)。

预先感谢您的帮助。

模板代码

错误堆栈跟踪

我只是更详细地检查了代码,发现只有一件事正是“图像”:表单中的验证器。

0 投票
2 回答
2287 浏览

security - Flask 文件处理:Werkzeug 与 Flask-Uploads

我正在尝试决定如何在我的烧瓶应用程序上实现图像上传功能。我目前正在使用 Flask-Uploads 来完成工作,它似乎工作得很好。但是,我不知道它是否非常安全,这可能是一个大问题,因为涉及文件上传。Flask-Uploads 并没有真正提供有关其服务实现的详细信息,因此我没有通过查看文档获得任何见解。但是,我在 Flask 的官方文档中看到了一个使用 Werkzeug 上传文件的示例,这似乎有一些额外的方法用于文件安全。我似乎在网上找不到任何可以说明哪个更安全的信息。

0 投票
1 回答
533 浏览

python - Flask 上传照片类

尝试编写一个允许用户上传照片的网站,到目前为止,我一直在使用 Flask-Uploads 库(此处的文档)

在文档中的示例中使用的是一个Photo看起来相当关键的类:

问题是该名称Photo不存在,flask.ext.uploads我不确定从哪里上传。

有没有其他人遇到过同样的问题?

0 投票
0 回答
1007 浏览

python - 以蓝图格式实现烧瓶上传

我正在 Flask 中创建一个模块,我可以在其中上传个人资料图片。我为此使用了 Flask 上传。但是,我在如何初始化存储方面遇到了问题。

这是我所做的:

PS:init_app 是我config.py文件中的一个函数。我的代码config.py写在下面。

这就是我想要发生的事情,但是我得到了一个错误。它指出我需要一个参数get_default_storage_class。所以我的常识出现了,并且这样做了:

它没有错误,但是当我尝试在我的views.py文件中导入存储时。这是我所做的:

然后,我又遇到了一个错误。这表明我无法导入存储。

无论如何,这是我的 config.py:

这是回溯:

0 投票
2 回答
1945 浏览

python-2.7 - Flask Uploads - TypeError: save() got an unexpected keyword argument 'name'

我正在尝试使用 Flask 上传文件并在完成时编写一个重命名的文件。根据Flask-Uploads 文档, save() 有一个用于此目的的名称参数。我收到 TypeError: save() got an unexpected keyword argument 'name' 使用下面的代码。如果我省略了保存函数的名称部分,file.save(os.path.join('/path/to/uploads', filename)),一切都会按预期工作。

我的意图是将文件字段所在的 wtform 中的 cust 值添加为写入的文件名 custvalue_filename.extension,正如我尝试使用 name=renfn 所证明的那样。

视图.py

我只是在学习 python 和 Flask,所以我完全怀疑我错过了一些明显的东西。先感谢您。

0 投票
2 回答
10047 浏览

python - Flask-上传权限被拒绝

我在我的 Flask 应用程序中使用Flask Uploads作为上传表单。但是,每当我尝试保存文件时,我都会收到此错误:

似乎上传没有保存文件的必要权限?这是我用于烧瓶上传的配置:

另外,这是我保存实际文件的方式:

该错误是由保存行引起的。对于如何解决这个问题,有任何的建议吗?谢谢。

0 投票
1 回答
886 浏览

python - Flask-Uploads URL 始终是 404

我正在使用Flask-Uploads上传文件并输出 URL。但是,由于某种原因,URL 总是指向 404!我可以在正确的文件夹中看到该文件,但 URL 似乎无法找到它。这是我正在使用的配置...

我还有一个上传集定义为:

该文件位于“app/uploads/plist/filename.csv”中,我会收到一个返回给我的 url,例如“ http://localhost:5000/productlist/filename.csv ”,但每当我打开 URL 时,它就是总是 404。我知道 Flask-Uploads 中的 url 方法实际上并没有检查文件是否存在,但我可以看到文件确实存在。它是否以某种方式在错误的地方寻找?谢谢你的帮助。

0 投票
1 回答
334 浏览

python - 烧瓶上传中的 UPLOADS_DEFAULT_URL 配置值是什么意思?

这个页面

UPLOADS_DEFAULT_URL

如果您将服务器设置为从 UPLOADS_DEFAULT_DEST 提供服务,请在此处设置服务器的基本 URL。继续上面的示例,如果 /var/uploads 可以从 http://localhost:5001访问,那么您可以将其设置为 http://localhost:5001/并且照片集的 URL 将以 http://localhost 开头: 5001/张。包括尾部斜杠。

但是,您不必设置任何 _URL 设置 - 如果您不这样做,那么它们将由 Flask 内部提供。它们就在那里,因此如果您的上传流量很大,您可以使用更快的生产服务器(如 Nginx 或 Lighttpd)来提供上传服务。

我不明白 Flask 如何使用 UPLOADS_DEFAULT_URL。文本说,如果你不指定它,上传将由烧瓶内部提供。问题:

  1. 如果我不指定 url,flask 将在什么 url 上提供服务?
  2. 如果我确实指定了 URL,那么烧瓶将如何处理它?它将如何使用它?

所以更容易回答我的问题:我不知道 python 究竟是如何与 apache 或 nginx 等 Web 服务器交互的。我确实理解原则上您希望这些 Web 服务器在您的 python 应用程序前端/代理以实现可扩展性/负载,但我不知道如何完成此操作的确切细节。可能如果我知道这一点,上面的信息对我来说会更明显。

从实际的角度来看:我有别人的python/flask 应用程序,对 python 的经验并不多。上面的参数需要在配置文件中指定。我启动并运行了应用程序,我没有指定这个特定参数,上传工作正常。我想知道不指定 URL 可能会破坏什么。

0 投票
2 回答
7844 浏览

python - 使用 Flask-Uploads 拒绝大于一定数量的文件?

Flask 推荐使用 Flask-Uploads 模块来处理上传。我想拒绝任何超过一定大小的文件。有一些解决方案:

从文档

此外,您还可以使用 patch_request_class 修补应用程序的 request_class 以设置最大上传大小。

从这个 SO 帖子

MAX_CONTENT_LENGTH 是拒绝大于您想要的文件上传的正确方法,

-或者-

我没有看到MAX_CONTENT_LENGTH官方文档中提到过,它甚至也没有像 SO 帖子那样手动检查文件大小。这两种方法最终是相同的,还是存在(大/微妙?)差异?此外,是否patch_request_class首先将文件保存到磁盘以确定总上传大小,还是保存到内存?

0 投票
2 回答
2800 浏览

python - 即使没有约束,Flask-Uploads 也总是抛出“UploadNotAllowed”错误

Flask-uploads 有一个叫做UploadSet“单个文件集合”的东西。我可以使用此上传集将我的文件保存到预定义的位置。我已经定义了我的设置:

这应该保存到./uploads/photos/subfolder_test/filename_test.png

我的测试图像是:2.6MB,是一个 png 文件。当我上传这个文件时,我得到了错误:

但是,它并没有确切说明什么是不允许的。我也尝试删除所有约束,但应用程序仍然抛出此错误。为什么?

编辑

好的,所以我发现实际上并不是导致问题的约束。这是导致问题的子文件夹和/或文件名:

但我想保存到我的自定义位置./uploads/photos/<custom_subdir>/<custom_filename>。这样做的正确方法是什么?