django 파일 업로드 파일이 일치하지 않습니다.
기본 코드는 다음과 같습니다.
템플릿 html
<html>
<body>
<form action="#" method="post" enctype="multipart/form-data">
{% csrf_token %}
title: <input name="title" /><br/>
file: <input name="ff" type="file" />
<div><input type="submit" name="post"></div>
</form>
</body>
</html>
처리 코드
def handle_upfile(files):
# print 'file name is', files['name']
storefile = open(files.name, 'w')
for chunk in files.chunks():
storefile.write(chunk)
storefile.close()
@csrf_protect
def upload(request):
if request.method == 'POST':
# form = upfileform.UploadForm(request.POST, request.FILES)
print 'check if is_valid'
utils.handle_upfile(request.FILES['ff'])
return HttpResponseRedirect(reverse('fage.views.detail'))
else:
form = upfileform.UploadForm()
return render(request, 'fage/upload.html', {'form': form})
그래서django 문서를 보니, 업로드 파일을 저장하는 열기 모드가 다른 미세한 차이를 발견하였다.
storefile = open(files.name, 'w')
바꾸다
storefile = open(files.name, 'wb+')
문제 해결
결론: 파일 업로드는 2진법으로 전달되기 때문에 저장할 때 2진법으로 저장하지 않으면 손실이 발생할 수 있다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.