Как отобразить массив, содержащий изображение в формате base64, через тег src?

Как показать массив, содержащий изображение в формате base64 через тег src Я пытаюсь отобразить изображение в формате base64. Когда я вставляю строку base64 как src, она работает нормально. Но это не я пытаюсь сделать. Я хочу отобразить элемент массива, который содержит изображение.

Файл JSP как это:

<img src="" id="popupnidImage"
                onmousemove=imageZoom() style="max-height: 500px;" padding-left: 0px;" />

Ajax, как это (этот код также в файле JSP):

$.ajax(
                            {
                                url : 'uploadOffierController.jsp?action=getnid&image_id='
                                        + ref_number + '&imgetype=' + imageType,
                                contentType : 'application/json',
                                context : document.body
                            })
                    .done(
                            function(response) {                                  
                                var repon = response.trim().split(",");
                                document.getElementById("popupnidImage")
                                        .setAttribute(
                                                'src',
                                                'data:image/jpg;base64,"'
                                                        + repon[0] + '"');

                            });

action = getnid - это функция Java, которая возвращает изображение base64. Используя этот ответ, я пытаюсь отобразить изображение с помощью элемента массива repon[0]. И функция getnid работает отлично.

вот так вот:

List<AccountHistory> acchistoryDate = new ArrayList<AccountHistory>();
        AccountController acc = new AccountController();
        String imgDataPath = "";

        String query = "SELECT " + tablefieldname + " FROM tablename WHERE fieldname='" + msisdn + "'";
        System.out.print(">>****v123****>>" + query);
        imgDataPath = getImagePath(query);
        System.out.println("imgDataPath : " + imgDataPath);


        BufferedImage bImage = ImageIO.read(new File(imgDataPath));//give the path of an image
        System.out.println("bImage : " + bImage);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ImageIO.write(bImage, "jpg", baos);
        ImageIO.write(bImage, "png", baos);
        baos.flush();
        byte[] imageInByteArray = baos.toByteArray();
        baos.close();
        String b64 = javax.xml.bind.DatatypeConverter.printBase64Binary(imageInByteArray);

        String historydate = "SELECT `xxxxx` FROM `xxxx` WHERE `xxx`='" + msisdn
                + "'  AND " + xxxxx + " IS NOT NULL";
        System.out.println(">>historydate>>" + historydate);
        acchistoryDate = acc.gethistoryDetails(historydate);
        String nidhis = "";
        for (int x = 0; x < acchistoryDate.size(); x++) {
            nidhis += acchistoryDate.get(x).getRejectedDate().substring(0, 19) + ",";
        }

        out.print(b64 + "," + nidhis);

0 ответов

Другие вопросы по тегам