django 파일 업로드 진행률 표시줄
2960 단어 django
upload.html
Document function on_progress(evt) { // upload 。 evt(event) ( progress), 3 lengthComputable,loaded,total, bool , , , , if(evt.lengthComputable) { var ele = document.getElementById('2'); var percent = Math.round((evt.loaded) * 100 / evt.total); ele.style.width = percent + '%'; document.getElementById('3').innerHTML = percent + '%'; } } function upload() { var xhr = new XMLHttpRequest(); var file = document.getElementById('file').files[0]; // , .file console.log(file); var form = new FormData(); //FormData HTML5 , form.append('file',file); // form , file xhr.upload.addEventListener('progress',on_progress,false); //xhr upload , progress , , , , , xhr.open('POST','http://127.0.0.1/load/upload/',true); // url url xhr.setRequestHeader('X-CSRFTOKEN','{{ request.COOKIES.csrftoken }}'); // Django , , CSRF , django xhr.send(form); // }
0%
view.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.shortcuts import render,HttpResponse
from django.views.generic import View
# Create your views here.
class UploadPage(View):
def get(self,request):
return render(request,'upload.html')
class Upload(View):
def post(self,request):
file = request.FILES['file']
self.handle_uploaded_file(file)
return HttpResponse()
def handle_uploaded_file(self,f):
with open(r'C:\\Users\\Desktop\\modeluser\\upload_file.txt', 'wb+') as destination:
for chunk in f.chunks():
destination.write(chunk)
from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^load/', include('books.urls')),
]
from django.conf.urls import url,include
from views import *
urlpatterns = [
url(r'upload_page/', UploadPage.as_view()),
url(r'upload/', Upload.as_view()),
]
참조:https://blog.csdn.net/AC_hell/article/details/52832027
https://www.jb51.net/article/140988.htm
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.