2012-07-02 41 views
0

我目前正在設置一個網站,我從用戶上傳一個文件,對其進行一些處理,並提供一個鏈接供用戶從中下載處理的文件。我目前想要在本地系統上提供文件的路徑,我是web2py的新手,並且在執行此操作時遇到問題。從web2py下載服務器中的文件

有人可以幫我做這個嗎?

問候

+0

你應該說明什麼麻煩:錯誤信息,這一步你是現在?你完成上傳了嗎?將它保存到服務器上的某個路徑?或者您在下載處理的文件時遇到問題? – pinkdawn

+0

謝謝你的回覆pinkdawn。是的,我已經上傳了這個文件。它位於我係統上的某個文件夾中。我需要在其中一個視圖中提供此文件的下載鏈接。 – frodo

回答

0

看到此鏈接的一些提示:webpy: how to stream files,也可以添加一些像這樣的代碼:

BUF_SIZE = 262144 
class download: 
    def GET(self): 
     file_name = # get from url 
     file_path = os.path.join('/path to your file', file_name) 
     f = None 
     try: 
      f = open(file_path, "rb") 
      webpy.header('Content-Type','application/octet-stream') 
      webpy.header('Content-disposition', 'attachment; filename=%s' % file_name) 
      while True: 
       c = f.read(BUF_SIZE) 
       if c: 
        yield c 
       else: 
        break 
     except Exception, e: 
      # throw 403 or 500 or just leave it 
      pass 
     finally: 
      if f: 
       f.close() 
+0

謝謝。我正在看。 – frodo

+0

我相信他問的是web2py,而不是web.py。 – Anthony