在 Django 中上传文件,然后通过 REST 将其发送到其他地方? [关闭]

Posted

技术标签:

【中文标题】在 Django 中上传文件,然后通过 REST 将其发送到其他地方? [关闭]【英文标题】:Upload a file in Django and then send it somewhere else through REST? [closed] 【发布时间】:2010-09-19 17:33:25 【问题描述】:

我正在构建一个简单的 Django 应用程序,它将使用 scribd 来显示文档。我想要一个页面,管理员可以通过该网站将文档上传到 scribd,因为在它进入 scribd 之前我需要知道一些关于它的事情。最好/最简单的方法是什么,显示一个上传页面,然后通过他们的 api 的docs.upload 方法将上传的文件发送到 scribd?我对这个 Python/Django/REST API 有点陌生,如果一次有太多问题,我很抱歉。

【问题讨论】:

【参考方案1】:

这是很多问题。

使用 Django 处理文件上传非常简单,请参阅File Uploads documentation 示例。总之你可以通过request.FILES['file']访问上传的文件。

要调用 scribd api,您可以使用 urllib2;有关说明,请参阅此Hackoarama page。 urllib2 可能有点复杂,但一旦你掌握了它,它就可以工作。

您可以直接从 Django 视图中调用 scribd api,但最好将其分开:从 Django 视图中将文件保存在磁盘上的某个位置,并在消息传递系统上放置“上传此”消息(例如beanstalkd)。让一个单独的进程接收消息并将文件上传到 scribd。这样您就可以保护您的 http 进程和用户免受访问 API 的任何问题以及相关的延迟。

【讨论】:

【参考方案2】:

您想要做的(至少从我在这里和 Django 文档站点上阅读的内容来看)是创建一个 custom storage system.

这应该能提供你所需要的——毕竟这是他们开始示例的动机!

【讨论】:

以上是关于在 Django 中上传文件,然后通过 REST 将其发送到其他地方? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Django 中通过 PUT 请求处理文件上传?

在Django rest框架中获取图像文件和字段

Django Rest 框架文件上传

Django rest 框架 - 将图像上传到 Azure 存储

有没有办法使用 Django REST 框架中的可浏览 API 上传文件?

Django Rest 框架和文件上传