zoukankan      html  css  js  c++  java
  • Django-关于文件上传

    一、方式一

    def upload(request):
        if request.method == 'GET':
            return render(request,'upload.html')
        else:
            user = request.POST.get('user')
            img = request.FILES.get('img')  #文件对象
            #img是对象(文件大小,文件名称,文件内容)
            print(img.name)
            print(img.size)
    
            f = open(img.name,'wb')
            for line in img.chunks():
                f.write(line)
            f.close()
            return HttpResponse("....")
    		
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <form action="/upload/" method="POST" enctype="multipart/form-data">
            {% csrf_token %}
            <input type="text" name="user"/>
            <div style="position: relative">
                <a>NB上传</a>
                <input type="file" name="img" style="opacity: 0;position: absolute;top: 0;left: 0"/>   
            </div>
            <input type="submit" value="提交"/>
        </form>
    </body>
    </html>

    二、form方式

    from django.shortcuts import render,HttpResponse
    
    from django import forms
    from django.forms import  fields
    
    class UploadForm(forms.Form):
        user = fields.CharField()
        img = fields.FileField()
    
    def upload(request):
        if request.method == 'GET':
            return render(request,'upload.html')
        else:
            obj = UploadForm(request.POST,request.FILES)
            print(obj)
            if obj.is_valid():
                user = obj.cleaned_data['user']
                img = obj.cleaned_data['img']
                print(obj.cleaned_data)
            print(img.name)
            print(img.size)
    
            f = open(img.name,'wb')
            for line in img.chunks():
                f.write(line)
            f.close()
            return HttpResponse("....")
  • 相关阅读:
    20155217 2016-2017-2《java程序设计》第一周学习总结
    20155217杨笛-安装虚拟机
    20155217-杨笛-c与java
    我所期望的师生关系
    jQ学习之实现全选全不选操作
    jQ学习之实现表格的隔行换色
    jQ学习之过滤选择器的测试
    jQ学习之层级选择器的测试
    jQ学习之基础选择器的测试
    jQ学习之实现图片的定时弹出
  • 原文地址:https://www.cnblogs.com/hujinzhong/p/11608933.html
Copyright © 2011-2022 走看看