Я не могу сгенерировать код QR (Zxing) на новом URL Java - PullRequest
0 голосов
/ 26 сентября 2018

Я использую библиотеку ZXing для создания QR-кодов, она отлично работает, когда она сохраняется в папке проекта на моем компьютере, но теперь мне нужно создать ее по новому URL-адресу напрямую, без сохранения в проекте.Мой код:

public class QRCodeGenerator {

public static String generateQRCodeImageToBase64(String text, int width, int height, String filePath, String value)
        throws WriterException, IOException, URISyntaxException {
    QRCodeWriter qrCodeWriter = new QRCodeWriter();
    BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height);

    /*
        URL pathURL = new URL("http://localhost:8079/TrackPetService/QRcodes/MyQRCode_"+value+".png");
        MatrixToImageWriter.writeToStream(bitMatrix, "PNG", pathURL.openConnection().getOutputStream()); 

        The third parameter manage the path and need to be a Path class or OutputStream,
        but i cannot find the way to save it or print on the browser without saving on a
        folder on the project.
    */

    Path path = FileSystems.getDefault().getPath(filePath); //This works perfect but takes the root the file system
    MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path); // Works perct but saves on the project

      File file = new File("/QRcodes/MyQRCode_"+value+".png");
      FileInputStream fileInputStreamReader = new FileInputStream(file);
      byte[] bytes = new byte[(int)file.length()];
      fileInputStreamReader.read(bytes);
      String encodedFile = Base64.getEncoder().encodeToString(bytes);
      System.out.println(encodedFile);

      return encodedFile;
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...