2008-10-30 44 views
1

我有一個網站在創建內容後爲某些內容創建圖像。我試圖找出在內容創建和圖像創建之間要做什麼。我的想法是,我可能會設置一個自定義圖像顯示在原始圖像上的404錯誤。但是,我不確定如何使用lighttpd執行此操作。任何想法或選擇?如果找不到圖像,顯示一些圖像的自定義圖像 - Lighttpd

編輯:問題是用戶不是創建內容的用戶,而是由進程創建的。基本上我們將項目添加到目錄,我們希望從產品提供商提供的圖像創建標準化的目錄圖像。但是,我不希望提供商一端的服務器速度較慢,以減慢新產品的添加速度。因此,一個單獨的過程會在以後創建圖像,如果可用的話。我想我可以讓系統在創建產品時創建一個默認圖像,然後在我們從提供商提供的圖像創建圖像時覆蓋它。

回答

1

在HTML中使用<object>標記,並回退到默認圖像。

<P>     <!-- First, try the Python applet --> 
<OBJECT title="The Earth as seen from space" 
     classid="http://www.observer.mars/TheEarth.py"> 
        <!-- Else, try the MPEG video --> 
    <OBJECT data="TheEarth.mpeg" type="application/mpeg"> 
        <!-- Else, try the GIF image --> 
    <OBJECT data="TheEarth.gif" type="image/gif"> 
        <!-- Else render the text --> 
    The <STRONG>Earth</STRONG> as seen from space. 
    </OBJECT> 
    </OBJECT> 
</OBJECT> 
</P> 

(來自w3.org例)

0

當我明白你的問題:你想,直到真正形象已經產生,顯示中間圖像?

您可以顯示加載圖像和使用AJAX的被創建時改變DOM節點到真正圖像。你可以從零開始編寫它,或者使用任何已知和穩定的AJAX庫,如果你沒有自己的偏好看看jQuery

0

我想你可以在客戶端單獨解決這個問題。

基於雅斯貝爾斯的答案,你可以這樣做:

<OBJECT data="/images/generated_image_xyz.png" type="image/png"> 
    Loading..<blink>.</blink> 
</OBJECT> 

使用CSS還分層的背景,你可以這樣做:

<style type="text/css"> 
    .content_image { width:100px; height: 100px; 
     background: transparent url('/images/default_image.png') no-repeat } 
    .content_image div { width:100px; height: 100px; } 
</style> 

<div class="content_image"> 
    <div style="background: 
     transparent url('/images/generated_image_xyz.png') no-repeat" /> 
</div> 

後者的解決方案假定你沒有任何透明度在您的生成的圖像。

1

客戶端上的另一種方法是要做到:

<img src="/images/generated_image_xyz.png" 
    onerror="this.src='/images/default_image.png'; this.title='Loading...';" /> 
+0

非常好,謝謝 – floribon 2014-10-30 00:34:52

相關問題