Web应用程序如何接收/处理上传的图像?

时间:2013-06-02 21:13:58

标签: django networking web-applications file-upload

我似乎无法绕过它。网站如何创建图像上传,存储和处理图像以在其网站上显示?我目前的情况是django存储图像。

2 个答案:

答案 0 :(得分:1)

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

如果是Django,您将在request.FILES中收到此数据。您将获得用户选择的文件的名称,大小和其他数据。然后,您可以将其保存在磁盘或数据库中。阅读特定于Django的事物here

答案 1 :(得分:1)

一般情况下(以非常简单/简单的方式):

  1. 网页呈现包含小部件的表单。
  2. 当您告诉浏览器您要上传的文件是什么时,它会向网络服务器准备一个HTTP请求,用于存储文件的二进制数据。
  3. 请求通过TCP连接发送到Web服务器。
  4. 服务器接收请求,查看文件决定如何处理(取决于配置文件)
  5. 后来,处理请求的程序,询问服务器的全局变量(或者类似的东西)它对文件的作用是什么
  6. 服务器为其提供存储地址
  7. 应用程序使用上传的文件执行剩余的工作:)
  8. 在Django中:

    1. 三个第一步是相同的
    2. 服务器询问django如何处理文件
    3. 根据settings.py将文件上载到内存或磁盘上的临时文件
    4. 应用程序处理将视图访问到视图中的request.FILES字典的文件
    5. 当你拥有它时,你可以把它传递给你的模特,表格或做任何你想做的事。
    6. 如果你想深入了解Django文件上传,this section of the documentation非常好。你可以看看它。

      希望这有帮助!