2013-06-02 26 views

回答

1

您在页面上放置<form>。它可以有不同的输入,如文本,数字等。还有file输入。然后用户提交表单并将所有数据发送到Web服务器。基本上,网络服务器以字节数组的形式接收文件。你可以阅读更多关于它here

在Django的情况下,您将收到request.FILES中的这些数据。您将获得用户所选文件的名称,大小和其他数据。然后您可以将其保存在磁盘或数据库中。阅读Django特定的东西here

1

一般而言(在一个非常恢复/简单的方式):

  1. 一个网页呈现在它的一个小部件的形式。
  2. 当你告诉浏览器你想要上传的文件是什么时,它会向Web服务器准备一个HTTP请求,在该服务器中存储文件的二进制数据。
  3. 该请求通过TCP连接发送到Web服务器。
  4. 服务器接受请求,看到文件决定如何处理它(取决于配置文件)
  5. 后来,程序处理请求,询问服务器的全局变量(或类似的东西)什么它用它做到底文件
  6. 服务器给它它被存储
  7. 的应用程序做的工作的其余部分与上传的文件:

在Django的地址:

  1. 三第一步是相同的
  2. 服务器要求的Django如何处理该文件
  3. 根据settings.py做文件上传到内存或磁盘
  4. 临时文件的应用程序处理的文件访问它到request.FILES字典在您的看法
  5. 当你有它,你可以将它传递给你的模型,窗体或做任何你想要的。

如果你想深入Django文件上传,this section of the documentation真的很好。你可以看看它。

希望这会有所帮助!

相关问题