我想生成QR码图像,将其转换为PNG并将其作为HTTP响应返回给我的客户端.
为了生成QR码我使用ZXing.我已经通过使用FileOutputStreamwith 编写了测试转换部分MatrixToImageWriter.writeToStream(...).这就像一个魅力.
我目前使用的Web框架是Spark(版本1.1.1).handle(...)-method 的返回被设置为响应主体.我在这做错了什么?
使用当前的解决方案,我The image "http://localhost:4567/qrcode" cannot be displayed because it contains errors在使用Firefox执行GET请求时获得.
import java.io.ByteArrayOutputStream;
import java.io.OutputStream;
import static spark.Spark.get;
import spark.Request;
import spark.Response;
import spark.Route;
import com.google.gson.Gson;
import com.google.common.io.BaseEncoding;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
public class App {
public static void main(String[] args) {
get(new Route("/qrcode") {
@Override
public Object handle(Request request, Response response) {
// Test data
QrData data = new QrData("test");
// …Run Code Online (Sandbox Code Playgroud)