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("....")
  • 相关阅读:
    a标签中调用js的几种方法
    IE11浏览器:请不要再叫我IE,谢谢
    IE11浏览器:请不要再叫我IE,谢谢
    浅谈href=#与href=javascript:void(0)的区别
    浅谈href=#与href=javascript:void(0)的区别
    Google Java编程风格指南
    Google Java编程风格指南
    Git学习小结 ~ Lethe's Blog
    Binder机制简析(三)
    Ness
  • 原文地址:https://www.cnblogs.com/hujinzhong/p/11608933.html
Copyright © 2011-2022 走看看