2013-05-26 47 views
0

我只是想顯示的一切,我都存儲在我的數據庫表中的圖片:的web2py:圖像不顯示

db.define_table('tbl_profile', 
      Field('id', 'integer'), 
      Field('name', 'string'), 
      Field('company', 'string'), 
      Field('title', 'string'), 
      Field('image', type='upload'), 

在menu.py我:

response.menu = [ 
      (T('Show'),False,URL('app/default','show')), 
      (T('Contact'),False, URL('app/default', 'contact')), 
      (T('Test'),False, URL('app/default', 'test')) 
] 

我曾嘗試以下,default.py:

def show(): 
    return dict(show=db().select(db.tbl_proile.image)) 

和show.html:

{{for tbl_profile in show:}} 
<img src="{{=URL('default', 'download', args=tbl_card.image)}}" /> <br /> 
{{pass}} 

我的下載功能是web2py提供的默認功能。當我點擊「顯示」選項卡時,它將我帶到一個頁面,但它顯示了一個破碎的圖像。

我看着數據庫和上傳文件夾,它看起來像圖像正確加載。

感謝您的任何幫助。我一直堅持這一點。

+0

看起來正確。上傳文件後是否對模型定義進行了更改?你能顯示一個或兩個文件的確切路徑和文件名,這些文件已經上傳但沒有顯示出來嗎? – Anthony

+0

我不認爲我改變了模型定義。但是,我確實將實際文件移動到了我名爲「圖像」的文件夾中。我注意到這確實刪除了數據庫中的文件,但我重新上傳了appadmin中的文件,但我仍然有這個錯誤。 文件名:cm1.jpeg 文件路徑:user/workspace/prof/prof/applications/app/images – user1077071

+0

當我擴展layout.html時,我什麼都看不到,但是當我刪除它時,圖像圖標。當我右鍵單擊並查看圖像時,我將重定向到此頁面:download/tbl_profile.image.b610ad43eefff374.436c61796d6f72654d616964312e6a706567.jp例如,其中顯示「無效請求」。 – user1077071

回答

1

如果你想利用內置的上傳和下載功能,那麼你必須上傳使用SQLFORM(包括appadmin,CrudSQLFORM.grid)和下載文件使用response.download()文件(也有特殊情況下的一些更高級選項)。一旦你上傳了一個文件,如果你想利用自動下載功能,你就不能移動或重命名它。