从不同的来源调用相同的函数会导致不同的输出?怎么样?

时间:2018-12-04 12:36:56

标签: java

我有一个基本功能,可以加载文件并返回“ URL安全” base64字符串。

public void getDocumentFromDMS() {
    DMS_Handler dms = new DMS_Handler();
    // Get the document using the DMS library
    dms.getDocument();
    // Convert Document to Base64
    // TODO for now get the document from the project
    try {
        InputStream documentInputStream = new FileInputStream("Doxis.pdf");
        byte[] documentBytes = IOUtils.toByteArray(documentInputStream);

        // Map information to IPP
        String base64Document = Base64.getEncoder().encodeToString(documentBytes);
        base64Document = URLEncoder.encode(base64Document, "UTF-8"); // This class contains static methods for converting a String to the application/x-www-form-urlencoded MIMEformat
        documentData.put("base64Document", base64Document);

        System.out.println(Arrays.toString(documentData.entrySet().toArray()));

    } catch (IOException e) {
        e.printStackTrace();
    }

如果我从JUnit测试中调用它,则效果很好,并且图像URL正确。

类似[base64Document=iVBORw0KGgoAAAANSUhEUgAACU

    public void testDocument() {
    DocumentHandler docHandler = new DocumentHandler();
    docHandler.getDocumentFromDMS();
}

但是如果我称它一旦部署在Tomcat中

[base64Document=JVBERi0xLjQKJeLjz9MNCg0KMSAwIG

我看不到页面上的图像。

我已调试,documentBytes的{​​{1}}字节不同。

这怎么可能?这是同一个文件。也许编码?

0 个答案:

没有答案