2013-04-02 82 views
1

我必須實現一個返回文本QR碼(授權碼)的Java SOAP Web服務。 返回此QRCode的最佳方式是什麼? Baseng編碼的png,ByteArrayOutputStream還是什麼?QR服務響應中的QR碼

最終,客戶端將使用此Web服務將QRCode嵌入到網頁中。

謝謝。

+0

你可以簡單地返回一個圖像,如二進制PNG/JPEG?或者,如果你想要看起來很漂亮,並且QR碼可以分成相等的正方形,那麼二元矩陣怎麼樣? – CodeChimp

回答

0

不要將它作爲base64編碼字符串發回。這是浪費空間,你不能流式傳輸圖像。只需將文件的字節作爲流返回給客戶端即可。返回與該文件關聯的元數據(如Content-typeContent-length)。

0

你可以讓你的web應用程序的響應返回到圖像的數據(假設它是一個servlet)做:

byte[] image = getQRCodeAsByteArray(); 
response.setContentType('image/png') 
response.setContentLength(image.length) 
response.getOutputStream().write(image) 

,如果你再在那個特定的Web應用程序的URL指向你的網頁瀏覽器,你會看到一個圖像

+0

我的Web服務器是一個SOAP Web服務器,我想使用ZXing庫來生成QRCode。什麼返回你的getQRCodeAsByteArray()方法? – Giorgio

+0

謝謝,但這並不能幫助我。我有一個SOAP Web服務。 – Giorgio