1. 程式人生 > >Django上傳檔案

Django上傳檔案

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="/upload.html" method="POST" enctype="multipart/form-data">
        <input type="text" name="file_name">
        <div 
style="position: relative"> <a>點選上傳檔案</a> <input type="file" name="is_file" style="opacity: 0;position: absolute;top: 0;left: 0;"> </div> <input type=submit name="OK"> </form> </body> </html>

 

from django.shortcuts import
render,HttpResponse # Create your views here. def upload(request): if request.method == "GET": return render(request,"upload.html") else: #print(request.POST) #<QueryDict: {'file_name': ['12321321'], 'OK': ['提交']}> #print(request.FILES) #<MultiValueDict: {'is_file': [<TemporaryUploadedFile: 說明書.pdf (application/pdf)>]}>
filename = request.POST.get("file_name") isfile = request.FILES.get("is_file") #isfile是物件(內容有檔案大小,檔名稱,檔案內容等) print(isfile.name,isfile.size) #isfile.name檔名 #isfile.size檔案大小,可以拿這值做限制 f = open('file/'+isfile.name,'wb') for data in isfile.chunks(): f.write(data) f.close() return HttpResponse("ok")