2009-06-09 17 views
1

很多時候我通過WSGI發送圖像數據(使用wsgiref),圖像出現失真。作爲一個例子,檢查以下內容:通過使用Python發送WSGI應用程序後圖像失真

distorted Google logo http://evanfosmark.com/files/goog.gif

+0

看起來像一個「二元對文本」問題 - \ n翻譯成\ r \ n或反之亦然,或控制Z阻礙。我從來沒有看到過這樣的問題,但是現在我幾乎不用Windows了(在任何其他系統上,如果我對'r'和'rb'打開馬虎sl it,它就不會有問題;-)。小心解釋相關平臺並向我們展示相關代碼? – 2009-06-09 01:59:53

回答

1

它必須與\n沒有正確轉換。我想感謝Alex Martelli指引我朝着正確的方向前進。

0

可能的結果是越來越截斷?嘗試使用wgetcurl直接獲取文件,並將cmp轉換爲原始圖像;這應該有助於調試它。除此之外,即使它很簡單,也可以發佈完整的代碼和環境細節。

3

當你還沒有發佈的代碼,這裏是一個簡單的代碼,正確使用Python 2.5在Windows上運行

from wsgiref.simple_server import make_server 

def serveImage(environ, start_response): 
    status = '200 OK' 
    headers = [('Content-type', 'image/png')] 
    start_response(status, headers) 

    return open("about.png", "rb").read() 

httpd = make_server('', 8000, serveImage) 
httpd.serve_forever() 

可能代替「RB」您正在使用「R」

相關問題