標籤:django 檔案上傳
html頁面代碼:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <form enctype="multipart/form-data" action="/app01/upload/" method="POST">{% csrf_token %} <input type="file" name="upload" /> <br/> <input type="submit" value="上傳"/> </form></body></html>
URL配置:
urlpatterns = [, url(r‘^upload/$‘, upload),]
views.py配置:
def upload(request): if request.method == ‘GET‘: return render(request,‘upload.html‘) elif request.method == ‘POST‘: content =request.FILES.get("upload", None) if not content: return HttpResponse("沒有上傳內容") position = os.path.join(‘C:\\Users\\huyuan\\Desktop\\test\\upload‘,content.name) #擷取上傳檔案的檔案名稱,並將其儲存到指定位置 storage = open(position,‘wb+‘) #開啟隱藏檔 for chunk in content.chunks(): #分塊寫入檔案 storage.write(chunk) storage.close() #寫入完成後關閉檔案 return HttpResponse("上傳成功") #返回用戶端資訊 else: return HttpResponseRedirect("不支援的要求方法")
上傳檔案的常用方法和屬性:
content.read():從檔案中讀取整個上傳的資料,這個方法只適合小檔案
content.chunks():按塊寫入檔案,通過for迴圈可以將大檔案按塊寫入到磁碟中
content.name:擷取檔案名稱,包括尾碼
content.size:擷取檔案大小
本文出自 “自動化營運” 部落格,請務必保留此出處http://hongchen99.blog.51cto.com/12534281/1954705
django實現檔案上傳(最簡單的方法)