2016-09-23 50 views
0

我正在django中滾動我自己的fileupload處理程序,並想知道文件名。我支持多種文件格式,並且想要根據上傳的文件具有的文件格式在receive_data_chunk方法中執行不同的處理。我以爲我會務實,只是根據文件結尾來判斷文件格式,但我無法弄清楚如何獲得文件名。如果我嘗試的東西,如下面的代碼提取文件名(被調用該方法前):在FileUploadHandler中查找文件名

if request.method == 'POST': 
     p = re.compile('^.*\.sdf$', re.IGNORECASE) 
     if (p.search(request.FILES['filecontent'].name)) : 
      self.sdf = True 
     else: 
      self.sdf = False 

我似乎從來沒有達到receive_data_chunk方法。我認爲撥打request.FILES的電話會以某種方式觸發加載,然後它已經完成了?我如何根據文件末尾在我的receive_data_chunk方法中進行不同的處理?

回答

0

您是否嘗試過使用

data=request.POST.copy() 

,然後在副本上工作?我已經將這個用於其他的事情,但也可以在這種情況下工作。

+0

嗯,有趣的是,這是否意味着我得到整個事情的完整副本?如果我正在上傳一個呃,3 GB的文件,這意味着什麼? – jonalv

+0

這是一個很好的問題!我認爲我所涉及的任何文件都不超過幾MB。 – ElPedro