2012-09-10 90 views
2

我正在嘗試編寫Google App Engine(GAE)Java應用程序來解碼QRcodes。我的應用程序的用戶將發送一封電子郵件到應用程序,其中包含一個QR碼,他們想要解碼的圖像,我的GAE應用程序將發送解碼信息的答覆。我打算爲此使用zxing libraryGoogle App Engine上的QRcode解碼器

目前我能夠提取在電子郵件中作爲附件出現的圖像。但是現在要使用zxing,我需要imageIO和BufferedImage類,它們不屬於GAE白名單。所以我被卡住了。有人可以幫我弄清楚我可以解碼一個QR碼,無論是否有zxing?

回答

2

Google爲working with images on GAE提供了自己的API。您將需要使用此API而不是javax.imageio.*。或者說,因爲您的庫使用這些類,所以您必須修改庫的源代碼才能使用GAE類(或切換到其他庫或編寫自己的類)。這可能是一個相當大的工作,取決於圖書館依賴javax.imageio.*的程度。

編輯:也許你可以重構你的代碼使用zxing的web-based decoder?這可能比嘗試修改其庫以使用GAE圖像API更簡單。

+0

是的,如果此API將以ARGB格式返回圖像數據(我無法確定返回'byte []'的方法是否這樣做),那麼只需更改幾行即可使用'RGBLuminanceSource' 。 –

+0

@SeanOwen&aroth:謝謝你們!正如我之前提到的,我將圖像作爲電子郵件附件發送。所以當我從MimeMessage中提取圖像時,我將它作爲base64編碼格式。我在將base64編碼數據轉換爲實際圖像(PNG或JPG)或ARGB格式時遇到了麻煩。你們可以請幫忙:我提出了一個[這裏的問題](http://stackoverflow.com/questions/12375806/decoding-base64-image-received-as-email-on-google-app-engine) – mabicha