1. 程式人生 > 實用技巧 >python 檔案上傳

python 檔案上傳

python 小檔案上傳
def upload_view(request): if request.method == 'GET': return render(request,'upload.html') file = request.FILES.get('asd') # 獲得檔案的物件 filename = file.name #獲得檔案的名字 content = file.read() # 將內容讀到記憶體 import os BASE_DIR = os.path.join(os.getcwd(),'imgs')
if not os.path.exists(BASE_DIR): os.makedirs(BASE_DIR) with open(os.path.join(BASE_DIR,filename),'wb') as fw: fw.write(content) return HttpResponse('上傳成功')


大檔案上傳
def upload_view(request):
	    if request.method == 'GET':
	        return render(request,'upload.html')
	    import os
	    BASE_DIR = os.path.join(os.getcwd(), 'imgs')
	    if not os.path.exists(BASE_DIR):
	        os.makedirs(BASE_DIR)
	    file = request.FILES.get('asd') # 獲得檔案的物件
	    filename = file.name #獲得檔案的名字
	    with open(os.path.join(BASE_DIR,filename),'wb') as fw:
	        # 讀取大檔案 需要分段讀取(寫完之後再讀)
	        for chunk in file.chunks(2048):
	            fw.write(chunk)
	    return HttpResponse('上傳成功')