zoukankan      html  css  js  c++  java
  • django 文件上传

    模板文件:

    <form method='post' action='/script/upload/' enctype="multipart/form-data" accept-charset="utf-8">
    {% csrf_token %}
    <input type='file' name='file' />
    <input type='submit' value='上传' />
    </form>

    视图函数:

    def upload(request):
        def handle_uploaded_file(f):
            destination = open('gamepost.xml', 'w')
            for chunk in f.chunks():
                destination.write(chunk)
            destination.close()
        if request.method == 'POST':
            handle_uploaded_file(request.FILES['file'])
            return HttpResponse('游戏公告更新成功!')

    form 表单里有一句 enctype="multipart/form-data",在上传文件的表单里必须要有这个。enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。

    默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值)。其它属性值有:

    描述
    application/x-www-form-urlencoded 在发送前编码所有字符(默认)
    multipart/form-data

    不对字符编码。

    在使用包含文件上传控件的表单时,必须使用该值。

    text/plain 空格转换为 "+" 加号,但不对特殊字符编码。
  • 相关阅读:
    面向对象之继承
    面向对象之封装
    面向对象编程
    Centos7.7镜像源配置
    Centos7环境配置
    多表查询v1
    多表查询
    库相关操作
    数据库初识
    数据相关操作
  • 原文地址:https://www.cnblogs.com/tianyajuanke/p/3582563.html
Copyright © 2011-2022 走看看