2015-06-26 45 views
1

我有不同的目錄中有多個文件,我需要用戶從網頁訪問。他們可以查看瀏覽器中的所有文本文件,但會下載所有* .zip文件。我有我的代碼難度低於在Python &旋風下載Python龍捲風文件下載

if directory.endswith('.zip'): 
    print('Currently downloading:', url) 
    self.set_header('Content-Type', 'application/octet-stream') 
    self.set_header("Content-Description", "File Transfer") 
    self.set_header('Content-Disposition', 'attachment; filename {}'.format(directory)) 

    with open(url, 'r') as f: 
     try: 
      while True: 
       data = f.read(4096) 
       if not data: 
        break 
       self.write(data) 
      self.finish() 
     except Exception as exc: 
      self.write(json_encode({'data': exc})) 

我已經在很多帖子在網上看了這些文件,他們認爲這樣做,因爲我做什麼,但尚未我沒有得到正確的結果。

請告知

+0

FYI ..需要下載的文件不在靜態文件夾中,它們遍佈根目錄 –

+0

什麼是您的「結果」?你有特定的錯誤信息嗎?如果您的文件不在靜態文件夾中,那麼您必須使每個文件本身都是靜態的,以使其可訪問。 – Flaudre

+0

使用Tornado的主要原因是它的異步性,在這裏沒有代碼異步。此外,你阻止龍捲風,直到不給該文件。看源代碼實現StaticFileHandler它會給你一個非常詳細的理解,爲什麼你寫錯了代碼和阻塞主事件循環。 –

回答

0

我想這是不工作,我會發送使用Ajax JQuery的,這是得到響應,不知道是做什麼用請求的原因,所以不是我剛纔提交的表單並正確下載文件。